diff --git a/CHANGE.txt b/CHANGE.txt index 8063e0e4..386107db 100644 --- a/CHANGE.txt +++ b/CHANGE.txt @@ -1,3 +1,9 @@ +v0.0.3: + 1. update formula ast: supporting more symbols and functions defined in katex + 2. add item to vector tools, including word2vec and doc2vec using gensim + 3. sci4sif support tokenization grouped by segments + 4. add special tokens: \SIFTag and \SIFSep + v0.0.2: 1. fix potential ModuleNotFoundError diff --git a/EduNLP/Formula/Formula.py b/EduNLP/Formula/Formula.py index 292ceaa4..f4c868be 100644 --- a/EduNLP/Formula/Formula.py +++ b/EduNLP/Formula/Formula.py @@ -32,7 +32,7 @@ class Formula(object): """ def __init__(self, formula: (str, List[Dict]), variable_standardization=False, const_mathord=None, - *args, **kwargs): + init=True, *args, **kwargs): """ Parameters @@ -41,16 +41,18 @@ def __init__(self, formula: (str, List[Dict]), variable_standardization=False, c latex formula string or the parsed abstracted syntax tree variable_standardization const_mathord + init args kwargs """ self._formula = formula self._ast = None - self.reset_ast( - formula_ensure_str=False, - variable_standardization=variable_standardization, - const_mathord=const_mathord, *args, **kwargs - ) + if init is True: + self.reset_ast( + formula_ensure_str=False, + variable_standardization=variable_standardization, + const_mathord=const_mathord, *args, **kwargs + ) def variable_standardization(self, inplace=False, const_mathord=None, variable_connect_dict=None): const_mathord = const_mathord if const_mathord is not None else CONST_MATHORD @@ -217,13 +219,13 @@ def ast_graph(self) -> (nx.Graph, nx.DiGraph): return tree -def link_formulas(*formula: Formula, **kwargs): +def link_formulas(*formula: Formula, link_vars=True, **kwargs): forest = [] for form in formula: forest += form.reset_ast( forest_begin=len(forest), **kwargs ) - variable_connect_dict = link_variable(forest) + variable_connect_dict = link_variable(forest) if link_vars else None for form in formula: form.variable_standardization(inplace=True, variable_connect_dict=variable_connect_dict, **kwargs) diff --git a/EduNLP/Formula/ast/ast.py b/EduNLP/Formula/ast/ast.py index b377bd58..908832e7 100644 --- a/EduNLP/Formula/ast/ast.py +++ b/EduNLP/Formula/ast/ast.py @@ -2,7 +2,7 @@ # 2021/5/20 @ tongshiwei from typing import List, Dict -from .watex import watex +from .katex import katex __all__ = ["str2ast", "get_edges", "ast", "link_variable"] @@ -33,10 +33,11 @@ def ast(formula: (str, List[Dict]), index=0, forest_begin=0, father_tree=None, i tree: List[Dict] 重新解析形成的特征树 + todo: finish all types """ tree = [] index += forest_begin - json_ast: List[Dict] = watex.katex.__parse(formula).to_list() if is_str else formula + json_ast: List[Dict] = katex.katex.__parse(formula).to_list() if is_str else formula last_node = None for item in json_ast: @@ -127,7 +128,8 @@ def ast(formula: (str, List[Dict]), index=0, forest_begin=0, father_tree=None, i tree += ast([item['base']], index=len(tree) + index, father_tree=tree) elif tree_node['val']['type'] == "supsub": - item['base']['role'] = 'base' + if item['base'] is not None: + item['base']['role'] = 'base' if 'sup' in item and item['sup']: bp = 'sup' @@ -143,7 +145,12 @@ def ast(formula: (str, List[Dict]), index=0, forest_begin=0, father_tree=None, i item[bp]['role'] = bp tree_node['structure']['child'] = [1 + private_index + index] tree.append(tree_node) - tree += ast([item['base'], item[bp]], index=len(tree) + index, father_tree=tree) + _tree = [] + if item['base'] is not None: + _tree.append(item['base']) + if item[bp] is not None: + _tree.append(item[bp]) + tree += ast(_tree, index=len(tree) + index, father_tree=tree) elif tree_node['val']['type'] == "ordgroup": tree_node['structure']['child'] = [1 + private_index + index] @@ -167,11 +174,24 @@ def ast(formula: (str, List[Dict]), index=0, forest_begin=0, father_tree=None, i citem['role'] = 'body' tree += ast(item['body'], index=len(tree) + index, father_tree=tree) + elif tree_node['val']['type'] in {"kern"}: + # \quad + tree_node['val']['text'] = tree_node['val']['type'] + tree_node['val']['type'] = "ignore" + tree.append(tree_node) + + elif tree_node['val']['type'] == "text": + # \text{} + tree_node['val']['text'] = "".join([e['text'] for e in item["body"]]) + tree.append(tree_node) + else: tree_node['structure']['child'] = [1 + private_index + index] if "text" in item: tree_node['val']['text'] = item["text"] + else: + tree_node['val']['text'] = item["type"] tree_node['val']['type'] = "other" tree.append(tree_node) Role = ['body', 'base', 'sup', 'sub', 'numer', 'denom', 'index', 'blew', 'other'] @@ -179,8 +199,12 @@ def ast(formula: (str, List[Dict]), index=0, forest_begin=0, father_tree=None, i for role_item in Role: if role_item in item: - item[role_item]['role'] = role_item - childrole.append(item[role_item]) + if role_item == "body" and isinstance(item[role_item], dict) is False: + # \text{} + childrole.extend(item[role_item]) + else: + item[role_item]['role'] = role_item + childrole.append(item[role_item]) tree += ast(childrole, index=len(tree) + index, father_tree=tree) if item: if item != json_ast[0]: @@ -247,7 +271,7 @@ def get_edges(forest): """ edges = [] for node in forest: - index = forest.index(node) + index = node["val"]["id"] edges.append((index, index, 1)) if node['structure']['bro'][1] is not None: edges.append((index, node['structure']['bro'][1], 2)) diff --git a/EduNLP/Formula/ast/watex.py b/EduNLP/Formula/ast/katex.py similarity index 50% rename from EduNLP/Formula/ast/watex.py rename to EduNLP/Formula/ast/katex.py index a74b399f..54b0c341 100644 --- a/EduNLP/Formula/ast/watex.py +++ b/EduNLP/Formula/ast/katex.py @@ -1,4 +1,4 @@ -__all__ = ['watex'] +__all__ = ['katex'] # Don't look below, you will not understand this Python code :) I don't. @@ -14,15 +14,9 @@ def PyJs_anonymous_0_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) var.registers([]) @Js - def PyJs_anonymous_1_(module, exports, __webpack_require__, this, arguments, var=var): - var = Scope({'module':module, 'exports':exports, '__webpack_require__':__webpack_require__, 'this':this, 'arguments':arguments}, var) - var.registers(['exports', 'module', '__webpack_require__']) - pass - PyJs_anonymous_1_._set_name('anonymous') - @Js - def PyJs_anonymous_2_(module, __webpack_exports__, __webpack_require__, this, arguments, var=var): - var = Scope({'module':module, '__webpack_exports__':__webpack_exports__, '__webpack_require__':__webpack_require__, 'this':this, 'arguments':arguments}, var) - var.registers(['ligatures', 'Token_Token', 'mathchoice_chooseMathStyle', 'textSymbols', 'buildCommon_makeSvgSpan', '_text', 'stretchy_svgSpan', 'textFontFamilies', 'delimiter_makeCustomSizedDelim', 'op', 'punct', 'stylArray', 'textFontShapes', 'buildCommon', 'delimiter_getMetrics', 'buildCommon_mathnormal', 'main', 'symbols_i4', 'src_symbols', 'supsub_htmlBuilderDelegate', 'macros', 'buildHTMLUnbreakable', 'dCellStyle', 'katex_renderToHTMLTree', 'binRightCanceller', 'spaceAfterDots', 'mathitLetters', 'utils_escape', 'sizing_htmlBuilder', 'buildCommon_makeVList', '_sup', 'stretchy_mathMLnode', 'ams', 'tree_DocumentFragment', '_toMarkup', 'iCombinations', 'ESCAPE_REGEX', 'mathMLTree', 'hLinePad', 'katex', 'array_mathmlBuilder', 'op_mathmlBuilder', 'assertParsed', 'src_Style', 'letters', 'binLeftCanceller', '_environments', '_cramp', 'alignMap', 'src_functions', 'Parser_Parser', 'units_calculateSize', 'boldsymbol', 'fontMap', 'symbols_math', 'noSuccessor', 'buildHTML', 'assertSpan', 'buildCommon_makeGlue', 'src_buildTree', 'domTree_Img', 'assertSymbolNodeType', 'sizingGroup', 'defineFunctionBuilders', 'tokenRegexString', 'fontMetricsData', 'delimiter_makeSizedDelim', 'extraCharacterMap', 'setFontMetrics', 'symbols_close', 'thickspace', 'parseArray', 'assertNodeType', 'delimiter_styleWrap', 'Style_styles', 'buildTree_displayWrap', 'buildHTML_checkPartialGroup', 'symbols_i3', 'checkAtomFamily', 'domTree_SymbolNode', 'buildMathML_getVariant', 'font_htmlBuilder', 'wideLatinLetterData', 'SvgNode', '_ch2', 'stackAlwaysDelimiters', 'checkDelimiter', 'centerSpan', 'dotsByToken', 'contains', 'ParseError', 'svgGeometry', 'controlWordRegexString', 'getBaseElem', '_htmlGroupBuilders', 'makeSqrtImage', 'delimiter_makeInner', '_sub', 'getCharacterMetrics', 'stackLargeDelimiters', 'katex_0', 'buildCommon_makeOrd', 'SourceLocation', 'sizeStyleMap', 'buildHTML_buildGroup', 'op_htmlBuilder', 'renderToString', 'bin', 'regularSpace', 'src_ParseError', 'symbols_textord', 'mathord', 'symbols_ch', 'utils', 'symbols_spacing', 'buildCommon_lookupSymbol', 'extraLatin', 'symbols', '_mathmlGroupBuilders', 'makeNullDelimiter', 'accent_htmlBuilder', 'sizeFuncs', 'buildCommon_mathsym', 'DomEnum', 'domTree_PathNode', 'groupLength', 'emPad', 'sizeElementFromChildren', 'buildTree_buildTree', 'src_symbols_i', '_functions', 'defaultVariant', 'wide_character_wideCharacterFont', 'Sc', '_ch', 'accent_mathmlBuilder', 'makeVerb', 'Dc', 'delimTypeToFont', 'buildMathML_makeText', 'wideNumeralData', 'SSc', 'domTree_Anchor', 'buildCommon_makeFragment', 'delimiter_mathrmSize', 'array_htmlBuilder', 'symbols_inner', 'environments', 'utils_isCharacterBox', 'buildCommon_canCombine', 'src_parseTree', 'singleCharIntegrals', 'defineEnvironment', 'delimiter_makeStackedDelim', 'builtinMacros', '__webpack_exports__', 'sigmasAndXis', 'symbols_accent', 'Settings_Settings', 'Tc', 'stackLargeDelimiterSequence', 'horizBrace_htmlBuilder', 'hyphenate', 'color_htmlBuilder', 'singleCharBigOps', 'src_Settings', 'tightSpacings', '_i5', 'validUnit', 'getTypeOfDomTree', 'buildMathML', 'mathTextSymbols', 'buildMathML_makeRow', 'enclose_htmlBuilder', 'horizBrace_mathmlBuilder', 'relativeUnit', 'delimiters', 'defineMacro', 'NON_STRETCHY_ACCENT_REGEX', 'controlWordWhitespaceRegex', 'retrieveTextFontName', 'traverseNonSpaceNodes', 'defineFunction_ordargument', 'genfrac_adjustStyle', 'font_mathmlBuilder', 'NON_ATOMS', 'controlWordWhitespaceRegexString', 'getHLines', 'tag_pad', 'stretchyCodePoint', 'ESCAPE_LOOKUP', 'getOutermostNode', 'latexRaiseA', '_fracNum', 'sizeToMaxHeight', 'functions', 'stackNeverDelimiterSequence', 'styling_styleMap', 'controlSymbolRegexString', 'SpaceNode', 'macros_def', 'S', 'stackNeverDelimiters', 'delimiter', 'buildTree_buildHTMLTree', 'katexImagesData', 'getVListChildrenAndDepth', 'color_mathmlBuilder', 'delimiter_makeLargeDelim', 'buildCommon_wrapFragment', 'scriptFromCodepoint', 'T', 'sizeMultipliers', 'buildCommon_staticSvg', 'mclass_mathmlBuilder', 'cssSpace', 'svgData', 'Style', 'D', 'domTree_Span', 'unicodeAccents', 'svgGeometry_path', 'Options_Options', 'assertAtomFamily', 'newDocumentFragment', 'textFontWeights', 'mclass_htmlBuilder', 'katex_renderError', 'checkNodeType', 'katex_renderToDomTree', 'binrelClass', 'spacings', 'ptPerUnit', 'thinspace', 'scriptData', 'buildCommon_mathdefault', 'src_Options', 'src_environments', 'genfrac_htmlBuilder', 'stackAlwaysDelimiterSequence', 'genfrac_mathmlBuilder', 'stretchy', '_ch5', 'assertSymbolDomNode', 'defineFunction', 'sizeAtStyle', 'module', 'buildHTML_styleMap', 'checkSymbolNodeType', 'mclass_makeSpan', 'Lexer_Lexer', 'parseTree_parseTree', 'katex_render', 'defineSymbol', '__webpack_require__', 'makeLeftRightDelim', 'SS', 'katex_webpack', 'supportedCodepoint', 'fontMetricsBySizeIndex', 'makeLineSpan', 'buildCommon_makeAnchor', 'mediumspace', 'buildHTML_buildExpression', 'mathMLTree_TextNode', 'fontAliases', 'spaceRegexString', 'digitToNumber', 'delimFromValue', '_ch3', '_fracDen', 'Namespace_Namespace', 'MacroExpander_MacroExpander', '_toNode', 'LineNode', 'vbPad', 'allBlocks', 'symbols_wideChar', 'deflt', 'buildCommon_tryCombineChars', 'macros_newcommand', 'unicodeSymbols', 'implicitCommands', 'delimiter_makeSmallDelim', 'createClass', 'symbols_open', 'rel', 'buildExpressionRow', 'traverseSequence', 'optionsWithFont', 'combiningDiacriticalMarkString', 'katex_generateParseTree', 'symbols_i2', 'mathMLTree_MathNode', '_ch4', 'combiningDiacriticalMarksEndRegex', 'buildCommon_makeSpan', 'buildHTML_makeSpan', 'delimiter_sqrtSvg', 'getGlobalMetrics', 'buildCommon_makeSymbol', 'delimiterSizes', 'ATOMS', 'uppercase', 'stretchy_encloseSpan', 'symbols_text', 'enclose_mathmlBuilder', 'buildTree_optionsFromSettings', 'initNode', 'arrow_paddedNode', 'buildMathML_buildGroup', 'buildMathML_buildExpression', 'symbols_i', 'assert', 'array_alignedHandler']) + def PyJs_anonymous_1_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['extraLatin', 'groupLength', '_ch', 'sigmasAndXis', 'getTypeOfDomTree', 'color_htmlBuilder', '_mathmlGroupBuilders', 'macros', 'op', 'tokenRegexString', 'fontMap', 'letters', 'canCombine', 'defineFunction', 'sqrtMain', 'newCell', 'src_buildTree', 'assertNodeType', 'DomEnum', 'mathMLTree', 'makeSizedDelim', 'SSc', 'unicodeSymbols', 'globalMap', 'fontMetricsData', 'buildHTMLUnbreakable', 'newcommand', 'sqrtSize3', 'styles', 'pad', 'Style', 'assert', 'makeVerb', 'stackLargeDelimiterSequence', 'generateParseTree', 'staticSvg', 'encloseSpan', 'lookupSymbol', 'emPad', 'makeNullDelimiter', 'checkControlSequence', 'enclose_htmlBuilder', 'getRHS', 'LineNode', 'scriptFromCodepoint', 'makeGlue', 'sizeMultipliers', 'Token', 'validUnit', 'boldsymbol', 'iCombinations', 'buildMathML_buildExpression', 'accent', 'delimTypeToFont', 'ParseError', 'buildMathML', '_i5', 'katex_webpack', 'wideNumeralData', 'symbols', 'sizing_htmlBuilder', 'checkDelimiter', 'uppercase', 'lapInEms', 'SS', 'tightSpacings', 'optionsWithFont', 'Options', 'digitToNumber', 'operatorname_mathmlBuilder', 'makeSymbol', 'dotsByToken', 'operatorname_htmlBuilder', 'defaultVariant', 'scriptData', 'paddedNode', 'font_htmlBuilder', 'getOutermostNode', 'textSymbols', 'stretchyCodePoint', '_i', 'delimFromValue', 'sizeElementFromChildren', 'svgData', 'getMetrics', 'lap', '_fracNum', 'displayWrap', 'op_htmlBuilder', 'i', 'array_htmlBuilder', 'htmlBuilder', 'horizBrace_mathmlBuilder', 'src_Options', 'wideLatinLetterData', 'noSuccessor', 'sqrtTall', 'delimiterSizes', 'sizeStyleMap', 'sqrtPath', 'Img', 'traverseSequence', 'styleWrap', 'alignedHandler', 'main', 'checkSymbolNodeType', 'src_environments', 'thinspace', 'controlWordRegexString', '_ch2', 'parseTree', 'array_mathmlBuilder', 'createClass', 'buildExpression', 'buildGroup', 'stackNeverDelimiters', 'ams', 'makeSvgSpan', 'ESCAPE_LOOKUP', 'relativeUnit', 'SymbolNode', 'SvgNode', 'defineSymbol', 'stackLargeDelimiters', 'assertParsed', 'getGlobalMetrics', 'wrapFragment', 'ESCAPE_REGEX', 'src_Style', 'retrieveTextFontName', 'SpaceNode', 'buildHTMLTree', 'svgSpan', 'ch', 'mclass_htmlBuilder', 'protocolFromUrl', '__webpack_require__', '_sup', 'assertSymbolNodeType', '__webpack_exports__', 'Tc', 'initNode', 'hyphenate', 'stylArray', 'NON_ATOMS', 'getVListChildrenAndDepth', '_sub', 'binRightCanceller', 'buildTree', 'stackAlwaysDelimiters', 'ordargument', 'makeSmallDelim', 'tryCombineChars', 'renderError', 'allBlocks', 'stackNeverDelimiterSequence', 'delimiters', 'cdArrowFunctionName', 'enclose_mathmlBuilder', 'optionsFromSettings', 'genfrac_htmlBuilder', 'functions', 'implicitCommands', '_i2', 'sqrtSize4', 'verts', 'spacing', 'sizeToMaxHeight', 'D', 'makeLeftRightDelim', 'htmlBuilderDelegate', 'path', 'renderToHTMLTree', 'symbols_text', 'SourceLocation', 'makeSpan', 'mathMLnode', 'assertSymbolDomNode', 'environments', 'parseCD', 'isCharacterBox', 'validateAmsEnvironmentContext', 'mclass_makeSpan', 'assertSpan', 'sqrtSvg', 'bin', 'MathNode', 'sqrtSize2', 'spaceAfterDots', '_fracDen', 'src_functions', '_cramp', 'T', 'innerPath', 'src_symbols', 'symbols_close', 'mathsym', 'assembleSupSub', 'makeVList', 'op_mathmlBuilder', 'styling_styleMap', 'isLabelEnd', 'doubleVerts', 'sizeFuncs', 'dCellStyle', 'S', 'Anchor', 'fontMetricsBySizeIndex', 'stackAlwaysDelimiterSequence', 'PathNode', 'normalizeArgument', 'katexImagesData', 'genfrac_mathmlBuilder', 'setFontMetrics', 'math', '_i3', 'singleCharBigOps', 'Parser', 'adjustStyle', 'MacroExpander', '_i4', 'spacings', 'font_mathmlBuilder', '_ch4', 'binLeftCanceller', 'makeText', 'regularSpace', 'controlSpaceRegexString', 'hLinePad', 'latexRaiseA', 'controlWordWhitespaceRegexString', 'mathmlBuilder', 'katex', 'symbols_open', 'ligatures', 'buildExpressionRow', 'delimiter', 'combiningDiacriticalMarkString', 'Sc', 'NON_STRETCHY_ACCENT_REGEX', 'mathTextSymbols', 'punct', 'buildHTML_makeSpan', 'mathrmSize', 'src_parseTree', 'makeStackedDelim', 'ptPerUnit', 'binrelClass', 'render', 'cdArrow', 'getBaseElem', 'letCommand', 'singleCharIntegrals', '_htmlGroupBuilders', 'supportedCodepoint', 'mathord', 'deflt', 'styleMap', 'mclass_mathmlBuilder', 'makeFragment', 'extraCharacterMap', 'makeRow', 'Namespace', '_ch3', 'renderToDomTree', 'defineFunctionBuilders', 'sizingGroup', 'makeLineSpan', 'sizeData', 'spaceRegexString', 'buildMathML_buildGroup', 'makeLargeDelim', 'makeGlyphSpan', 'combiningDiacriticalMarksEndRegex', 'buildHTML', 'phasePath', 'color_mathmlBuilder', 'textFontFamilies', 'makeSqrtImage', 'sizeAtStyle', 'isStartOfArrow', 'wideChar', 'defineMacro', 'checkPartialGroup', 'defineEnvironment', 'DocumentFragment', 'sqrtSize1', '_toNode', 'calculateSize', 'controlSymbolRegexString', 'utils_escape', 'makeAnchor', 'mediumspace', 'makeInner', 'getHLines', 'stretchy', 'chooseMathStyle', 'alignMap', 'vbPad', 'inner', 'makeOrd', 'fontAliases', 'rel', 'buildCommon', 'renderToString', '_environments', 'horizBrace_htmlBuilder', 'Dc', 'makeCustomSizedDelim', 'Lexer', '_functions', 'getVariant', 'centerSpan', 'builtinMacros', '_ch5', 'getCharacterMetrics', '_text', 'textFontWeights', 'contains', '_toMarkup', 'Settings', 'thickspace', 'wideCharacterFont', 'traverseNonSpaceNodes', 'unicodeAccents', 'parseArray', 'newDocumentFragment', 'src_ParseError', 'utils', 'Span', 'cssSpace', 'ATOMS', 'textFontShapes', 'textord', 'TextNode']) @Js def PyJsHoisted_utils_escape_(text, this, arguments, var=var): var = Scope({'text':text, 'this':this, 'arguments':arguments}, var) @@ -39,7 +33,7 @@ def PyJs_anonymous_11_(match, this, arguments, var=var): @Js def PyJsHoisted_scriptFromCodepoint_(codepoint, this, arguments, var=var): var = Scope({'codepoint':codepoint, 'this':this, 'arguments':arguments}, var) - var.registers(['i', 'codepoint', '_i', 'block', 'script']) + var.registers(['codepoint', '_i', 'script', 'i', 'block']) #for JS loop var.put('i', Js(0.0)) while (var.get('i') but got ')+var.get('String')(var.get('group')))+Js('.')))) @@ -106,7 +100,7 @@ def PyJsHoisted_setFontMetrics_(fontName, metrics, this, arguments, var=var): @Js def PyJsHoisted_getCharacterMetrics_(character, font, mode, this, arguments, var=var): var = Scope({'character':character, 'font':font, 'mode':mode, 'this':this, 'arguments':arguments}, var) - var.registers(['mode', 'font', 'ch', 'metrics', 'character']) + var.registers(['character', 'font', 'mode', 'metrics', 'ch']) if var.get('fontMetricsData').get(var.get('font')).neg(): PyJsTempException = JsToPyException(var.get('Error').create(((Js('Font metrics not found for font: ')+var.get('font'))+Js('.')))) raise PyJsTempException @@ -125,7 +119,7 @@ def PyJsHoisted_getCharacterMetrics_(character, font, mode, this, arguments, var @Js def PyJsHoisted_getGlobalMetrics_(size, this, arguments, var=var): var = Scope({'size':size, 'this':this, 'arguments':arguments}, var) - var.registers(['sizeIndex', 'key', 'metrics', 'size']) + var.registers(['size', 'metrics', 'key', 'sizeIndex']) pass if (var.get('size')>=Js(5.0)): var.put('sizeIndex', Js(0.0)) @@ -146,82 +140,23 @@ def PyJsHoisted_getGlobalMetrics_(size, this, arguments, var=var): @Js def PyJsHoisted_defineSymbol_(mode, font, group, replace, name, acceptUnicodeChar, this, arguments, var=var): var = Scope({'mode':mode, 'font':font, 'group':group, 'replace':replace, 'name':name, 'acceptUnicodeChar':acceptUnicodeChar, 'this':this, 'arguments':arguments}, var) - var.registers(['mode', 'font', 'group', 'name', 'acceptUnicodeChar', 'replace']) + var.registers(['name', 'font', 'group', 'mode', 'replace', 'acceptUnicodeChar']) var.get('symbols').get(var.get('mode')).put(var.get('name'), Js({'font':var.get('font'),'group':var.get('group'),'replace':var.get('replace')})) if (var.get('acceptUnicodeChar') and var.get('replace')): var.get('symbols').get(var.get('mode')).put(var.get('replace'), var.get('symbols').get(var.get('mode')).get(var.get('name'))) PyJsHoisted_defineSymbol_.func_name = 'defineSymbol' var.put('defineSymbol', PyJsHoisted_defineSymbol_) @Js - def PyJsHoisted_assertNodeType_(node, type, this, arguments, var=var): - var = Scope({'node':node, 'type':type, 'this':this, 'arguments':arguments}, var) - var.registers(['node', 'type', 'typedNode']) - var.put('typedNode', var.get('checkNodeType')(var.get('node'), var.get('type'))) - if var.get('typedNode').neg(): - PyJsTempException = JsToPyException(var.get('Error').create((((Js('Expected node of type ')+var.get('type'))+Js(', but got '))+((Js('node of type ')+var.get('node').get('type')) if var.get('node') else var.get('String')(var.get('node')))))) - raise PyJsTempException - return var.get('typedNode') - PyJsHoisted_assertNodeType_.func_name = 'assertNodeType' - var.put('assertNodeType', PyJsHoisted_assertNodeType_) - @Js - def PyJsHoisted_checkNodeType_(node, type, this, arguments, var=var): - var = Scope({'node':node, 'type':type, 'this':this, 'arguments':arguments}, var) - var.registers(['node', 'type']) - if (var.get('node') and PyJsStrictEq(var.get('node').get('type'),var.get('type'))): - return var.get('node') - return var.get(u"null") - PyJsHoisted_checkNodeType_.func_name = 'checkNodeType' - var.put('checkNodeType', PyJsHoisted_checkNodeType_) - @Js - def PyJsHoisted_assertAtomFamily_(node, family, this, arguments, var=var): - var = Scope({'node':node, 'family':family, 'this':this, 'arguments':arguments}, var) - var.registers(['node', 'family', 'typedNode']) - var.put('typedNode', var.get('checkAtomFamily')(var.get('node'), var.get('family'))) - if var.get('typedNode').neg(): - PyJsTempException = JsToPyException(var.get('Error').create((((Js('Expected node of type "atom" and family "')+var.get('family'))+Js('", but got '))+(((Js('atom of family ')+var.get('node').get('family')) if PyJsStrictEq(var.get('node').get('type'),Js('atom')) else (Js('node of type ')+var.get('node').get('type'))) if var.get('node') else var.get('String')(var.get('node')))))) - raise PyJsTempException - return var.get('typedNode') - PyJsHoisted_assertAtomFamily_.func_name = 'assertAtomFamily' - var.put('assertAtomFamily', PyJsHoisted_assertAtomFamily_) - @Js - def PyJsHoisted_checkAtomFamily_(node, family, this, arguments, var=var): - var = Scope({'node':node, 'family':family, 'this':this, 'arguments':arguments}, var) - var.registers(['node', 'family']) - return (var.get('node') if ((var.get('node') and PyJsStrictEq(var.get('node').get('type'),Js('atom'))) and PyJsStrictEq(var.get('node').get('family'),var.get('family'))) else var.get(u"null")) - PyJsHoisted_checkAtomFamily_.func_name = 'checkAtomFamily' - var.put('checkAtomFamily', PyJsHoisted_checkAtomFamily_) - @Js - def PyJsHoisted_assertSymbolNodeType_(node, this, arguments, var=var): - var = Scope({'node':node, 'this':this, 'arguments':arguments}, var) - var.registers(['node', 'typedNode']) - var.put('typedNode', var.get('checkSymbolNodeType')(var.get('node'))) - if var.get('typedNode').neg(): - PyJsTempException = JsToPyException(var.get('Error').create((Js('Expected node of symbol group type, but got ')+((Js('node of type ')+var.get('node').get('type')) if var.get('node') else var.get('String')(var.get('node')))))) - raise PyJsTempException - return var.get('typedNode') - PyJsHoisted_assertSymbolNodeType_.func_name = 'assertSymbolNodeType' - var.put('assertSymbolNodeType', PyJsHoisted_assertSymbolNodeType_) - @Js - def PyJsHoisted_checkSymbolNodeType_(node, this, arguments, var=var): - var = Scope({'node':node, 'this':this, 'arguments':arguments}, var) - var.registers(['node']) - if (var.get('node') and (PyJsStrictEq(var.get('node').get('type'),Js('atom')) or var.get('NON_ATOMS').callprop('hasOwnProperty', var.get('node').get('type')))): - return var.get('node') - return var.get(u"null") - PyJsHoisted_checkSymbolNodeType_.func_name = 'checkSymbolNodeType' - var.put('checkSymbolNodeType', PyJsHoisted_checkSymbolNodeType_) - @Js def PyJsHoisted_defineFunction_(_ref, this, arguments, var=var): var = Scope({'_ref':_ref, 'this':this, 'arguments':arguments}, var) - var.registers(['i', 'nodeType', 'type', 'handler', 'mathmlBuilder', 'data', 'props', 'names', '_ref', 'htmlBuilder']) + var.registers(['handler', '_ref', 'type', 'data', 'props', 'names', 'mathmlBuilder', 'i', 'htmlBuilder']) var.put('type', var.get('_ref').get('type')) - var.put('nodeType', var.get('_ref').get('nodeType')) var.put('names', var.get('_ref').get('names')) var.put('props', var.get('_ref').get('props')) var.put('handler', var.get('_ref').get('handler')) var.put('htmlBuilder', var.get('_ref').get('htmlBuilder')) var.put('mathmlBuilder', var.get('_ref').get('mathmlBuilder')) - var.put('data', Js({'type':var.get('type'),'numArgs':var.get('props').get('numArgs'),'argTypes':var.get('props').get('argTypes'),'greediness':(Js(1.0) if PyJsStrictEq(var.get('props').get('greediness'),var.get('undefined')) else var.get('props').get('greediness')),'allowedInText':var.get('props').get('allowedInText').neg().neg(),'allowedInMath':(Js(True) if PyJsStrictEq(var.get('props').get('allowedInMath'),var.get('undefined')) else var.get('props').get('allowedInMath')),'numOptionalArgs':(var.get('props').get('numOptionalArgs') or Js(0.0)),'infix':var.get('props').get('infix').neg().neg(),'consumeMode':var.get('props').get('consumeMode'),'handler':var.get('handler')})) + var.put('data', Js({'type':var.get('type'),'numArgs':var.get('props').get('numArgs'),'argTypes':var.get('props').get('argTypes'),'allowedInArgument':var.get('props').get('allowedInArgument').neg().neg(),'allowedInText':var.get('props').get('allowedInText').neg().neg(),'allowedInMath':(Js(True) if PyJsStrictEq(var.get('props').get('allowedInMath'),var.get('undefined')) else var.get('props').get('allowedInMath')),'numOptionalArgs':(var.get('props').get('numOptionalArgs') or Js(0.0)),'infix':var.get('props').get('infix').neg().neg(),'primitive':var.get('props').get('primitive').neg().neg(),'handler':var.get('handler')})) #for JS loop var.put('i', Js(0.0)) while (var.get('i')(-Js(1.0))): + pass + else: + if (Js('<>AV').callprop('indexOf', var.get('arrowChar'))>(-Js(1.0))): + #for JS loop + var.put('labelNum', Js(0.0)) + while (var.get('labelNum')AV=|." after @'), var.get('rowNodes').get(var.get('j')))) + raise PyJsTempException + var.put('arrow', var.get('cdArrow')(var.get('arrowChar'), var.get('labels'), var.get('parser'))) + var.put('wrappedArrow', Js({'type':Js('styling'),'body':Js([var.get('arrow')]),'mode':Js('math'),'style':Js('display')})) + var.get('row').callprop('push', var.get('wrappedArrow')) + var.put('cell', var.get('newCell')()) + finally: + (var.put('j',Js(var.get('j').to_number())+Js(1))-Js(1)) + if PyJsStrictEq((var.get('i')%Js(2.0)),Js(0.0)): + var.get('row').callprop('push', var.get('cell')) + else: + var.get('row').callprop('shift') + var.put('row', Js([])) + var.get('body').callprop('push', var.get('row')) + finally: + (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) + var.get('parser').get('gullet').callprop('endGroup') + var.get('parser').get('gullet').callprop('endGroup') + var.put('cols', var.get('Array').create(var.get('body').get('0').get('length')).callprop('fill', Js({'type':Js('align'),'align':Js('c'),'pregap':Js(0.25),'postgap':Js(0.25)}))) + return Js({'type':Js('array'),'mode':Js('math'),'body':var.get('body'),'arraystretch':Js(1.0),'addJot':Js(True),'rowGaps':Js([var.get(u"null")]),'cols':var.get('cols'),'colSeparationType':Js('CD'),'hLinesBeforeRow':var.get('Array').create((var.get('body').get('length')+Js(1.0))).callprop('fill', Js([]))}) + PyJsHoisted_parseCD_.func_name = 'parseCD' + var.put('parseCD', PyJsHoisted_parseCD_) + @Js def PyJsHoisted_checkDelimiter_(delim, context, this, arguments, var=var): var = Scope({'delim':delim, 'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['symDelim', 'context', 'delim']) + var.registers(['context', 'symDelim', 'delim']) var.put('symDelim', var.get('checkSymbolNodeType')(var.get('delim'))) if (var.get('symDelim') and var.get('utils').callprop('contains', var.get('delimiters'), var.get('symDelim').get('text'))): return var.get('symDelim') else: - PyJsTempException = JsToPyException(var.get('src_ParseError').create(((((Js("Invalid delimiter: '")+(var.get('symDelim').get('text') if var.get('symDelim') else var.get('JSON').callprop('stringify', var.get('delim'))))+Js("' after '"))+var.get('context').get('funcName'))+Js("'")), var.get('delim'))) - raise PyJsTempException + if var.get('symDelim'): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(((((Js("Invalid delimiter '")+var.get('symDelim').get('text'))+Js("' after '"))+var.get('context').get('funcName'))+Js("'")), var.get('delim'))) + raise PyJsTempException + else: + PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js("Invalid delimiter type '")+var.get('delim').get('type'))+Js("'")), var.get('delim'))) + raise PyJsTempException PyJsHoisted_checkDelimiter_.func_name = 'checkDelimiter' var.put('checkDelimiter', PyJsHoisted_checkDelimiter_) @Js @@ -364,14 +477,14 @@ def PyJsHoisted_assertParsed_(group, this, arguments, var=var): @Js def PyJsHoisted_defineEnvironment_(_ref, this, arguments, var=var): var = Scope({'_ref':_ref, 'this':this, 'arguments':arguments}, var) - var.registers(['i', 'handler', 'type', 'mathmlBuilder', 'data', 'props', 'names', '_ref', 'htmlBuilder']) + var.registers(['handler', '_ref', 'type', 'data', 'props', 'names', 'mathmlBuilder', 'i', 'htmlBuilder']) var.put('type', var.get('_ref').get('type')) var.put('names', var.get('_ref').get('names')) var.put('props', var.get('_ref').get('props')) var.put('handler', var.get('_ref').get('handler')) var.put('htmlBuilder', var.get('_ref').get('htmlBuilder')) var.put('mathmlBuilder', var.get('_ref').get('mathmlBuilder')) - var.put('data', Js({'type':var.get('type'),'numArgs':(var.get('props').get('numArgs') or Js(0.0)),'greediness':Js(1.0),'allowedInText':Js(False),'numOptionalArgs':Js(0.0),'handler':var.get('handler')})) + var.put('data', Js({'type':var.get('type'),'numArgs':(var.get('props').get('numArgs') or Js(0.0)),'allowedInText':Js(False),'numOptionalArgs':Js(0.0),'handler':var.get('handler')})) #for JS loop var.put('i', Js(0.0)) while (var.get('i')Js(1.0)) or var.get('emptySingleRow').neg())): var.get('body').callprop('pop') if (var.get('hLinesBeforeRow').get('length')<(var.get('body').get('length')+Js(1.0))): var.get('hLinesBeforeRow').callprop('push', Js([])) break else: - if PyJsStrictEq(var.get('next'),Js('\\cr')): - var.put('cr', var.get('assertNodeType')(var.get('parser').callprop('parseFunction'), Js('cr'))) - var.get('rowGaps').callprop('push', var.get('cr').get('size')) + if PyJsStrictEq(var.get('next'),Js('\\\\')): + var.get('parser').callprop('consume') + var.put('size', PyJsComma(Js(0.0), Js(None))) + if PyJsStrictNeq(var.get('parser').get('gullet').callprop('future').get('text'),Js(' ')): + var.put('size', var.get('parser').callprop('parseSizeGroup', Js(True))) + var.get('rowGaps').callprop('push', (var.get('size').get('value') if var.get('size') else var.get(u"null"))) var.get('hLinesBeforeRow').callprop('push', var.get('getHLines')(var.get('parser'))) var.put('row', Js([])) var.get('body').callprop('push', var.get('row')) @@ -452,7 +583,8 @@ def PyJsHoisted_parseArray_(parser, _ref, style, this, arguments, var=var): PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Expected & or \\\\ or \\cr or \\end'), var.get('parser').get('nextToken'))) raise PyJsTempException var.get('parser').get('gullet').callprop('endGroup') - return Js({'type':Js('array'),'mode':var.get('parser').get('mode'),'addJot':var.get('addJot'),'arraystretch':var.get('arraystretch'),'body':var.get('body'),'cols':var.get('cols'),'rowGaps':var.get('rowGaps'),'hskipBeforeAndAfter':var.get('hskipBeforeAndAfter'),'hLinesBeforeRow':var.get('hLinesBeforeRow'),'colSeparationType':var.get('colSeparationType')}) + var.get('parser').get('gullet').callprop('endGroup') + return Js({'type':Js('array'),'mode':var.get('parser').get('mode'),'addJot':var.get('addJot'),'arraystretch':var.get('arraystretch'),'body':var.get('body'),'cols':var.get('cols'),'rowGaps':var.get('rowGaps'),'hskipBeforeAndAfter':var.get('hskipBeforeAndAfter'),'hLinesBeforeRow':var.get('hLinesBeforeRow'),'colSeparationType':var.get('colSeparationType'),'addEqnNum':var.get('addEqnNum'),'leqno':var.get('leqno')}) PyJsHoisted_parseArray_.func_name = 'parseArray' var.put('parseArray', PyJsHoisted_parseArray_) @Js @@ -469,23 +601,57 @@ def PyJsHoisted_dCellStyle_(envName, this, arguments, var=var): def PyJsHoisted_mclass_htmlBuilder_(group, options, this, arguments, var=var): var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments}, var) var.registers(['group', 'options', 'elements']) - var.put('elements', var.get('buildHTML_buildExpression')(var.get('group').get('body'), var.get('options'), Js(True))) + var.put('elements', var.get('buildExpression')(var.get('group').get('body'), var.get('options'), Js(True))) return var.get('mclass_makeSpan')(Js([var.get('group').get('mclass')]), var.get('elements'), var.get('options')) PyJsHoisted_mclass_htmlBuilder_.func_name = 'mclass_htmlBuilder' var.put('mclass_htmlBuilder', PyJsHoisted_mclass_htmlBuilder_) @Js def PyJsHoisted_mclass_mathmlBuilder_(group, options, this, arguments, var=var): var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments}, var) - var.registers(['group', 'inner', 'options']) + var.registers(['inner', 'group', 'options', 'node']) + pass var.put('inner', var.get('buildMathML_buildExpression')(var.get('group').get('body'), var.get('options'))) - return var.get('mathMLTree').callprop('newDocumentFragment', var.get('inner')) + if PyJsStrictEq(var.get('group').get('mclass'),Js('minner')): + return var.get('mathMLTree').callprop('newDocumentFragment', var.get('inner')) + else: + if PyJsStrictEq(var.get('group').get('mclass'),Js('mord')): + if var.get('group').get('isCharacterBox'): + var.put('node', var.get('inner').get('0')) + var.get('node').put('type', Js('mi')) + else: + var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mi'), var.get('inner'))) + else: + if var.get('group').get('isCharacterBox'): + var.put('node', var.get('inner').get('0')) + var.get('node').put('type', Js('mo')) + else: + var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mo'), var.get('inner'))) + if PyJsStrictEq(var.get('group').get('mclass'),Js('mbin')): + var.get('node').get('attributes').put('lspace', Js('0.22em')) + var.get('node').get('attributes').put('rspace', Js('0.22em')) + else: + if PyJsStrictEq(var.get('group').get('mclass'),Js('mpunct')): + var.get('node').get('attributes').put('lspace', Js('0em')) + var.get('node').get('attributes').put('rspace', Js('0.17em')) + else: + if (PyJsStrictEq(var.get('group').get('mclass'),Js('mopen')) or PyJsStrictEq(var.get('group').get('mclass'),Js('mclose'))): + var.get('node').get('attributes').put('lspace', Js('0em')) + var.get('node').get('attributes').put('rspace', Js('0em')) + return var.get('node') PyJsHoisted_mclass_mathmlBuilder_.func_name = 'mclass_mathmlBuilder' var.put('mclass_mathmlBuilder', PyJsHoisted_mclass_mathmlBuilder_) @Js + def PyJsHoisted_defineMacro_(name, body, this, arguments, var=var): + var = Scope({'name':name, 'body':body, 'this':this, 'arguments':arguments}, var) + var.registers(['name', 'body']) + var.get('builtinMacros').put(var.get('name'), var.get('body')) + PyJsHoisted_defineMacro_.func_name = 'defineMacro' + var.put('defineMacro', PyJsHoisted_defineMacro_) + @Js def PyJsHoisted_sizingGroup_(value, options, baseOptions, this, arguments, var=var): var = Scope({'value':value, 'options':options, 'baseOptions':baseOptions, 'this':this, 'arguments':arguments}, var) - var.registers(['i', 'options', 'baseOptions', 'pos', 'inner', 'multiplier', 'value']) - var.put('inner', var.get('buildHTML_buildExpression')(var.get('value'), var.get('options'), Js(False))) + var.registers(['pos', 'inner', 'value', 'i', 'multiplier', 'baseOptions', 'options']) + var.put('inner', var.get('buildExpression')(var.get('value'), var.get('options'), Js(False))) var.put('multiplier', (var.get('options').get('sizeMultiplier')/var.get('baseOptions').get('sizeMultiplier'))) #for JS loop var.put('i', Js(0.0)) @@ -504,79 +670,50 @@ def PyJsHoisted_sizingGroup_(value, options, baseOptions, this, arguments, var=v return var.get('buildCommon').callprop('makeFragment', var.get('inner')) PyJsHoisted_sizingGroup_.func_name = 'sizingGroup' var.put('sizingGroup', PyJsHoisted_sizingGroup_) - @Js - def PyJsHoisted_defineMacro_(name, body, this, arguments, var=var): - var = Scope({'name':name, 'body':body, 'this':this, 'arguments':arguments}, var) - var.registers(['body', 'name']) - var.get('builtinMacros').put(var.get('name'), var.get('body')) - PyJsHoisted_defineMacro_.func_name = 'defineMacro' - var.put('defineMacro', PyJsHoisted_defineMacro_) Js('use strict') - var.get('__webpack_require__').callprop('r', var.get('__webpack_exports__')) - var.put('katex', var.get('__webpack_require__')(Js(0.0))) + var.put('__webpack_require__', Js({})) @Js - def PyJs_anonymous_3_(this, arguments, var=var): + def PyJs_anonymous_2_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) - var.registers(['SourceLocation']) - @Js - def PyJsHoisted_SourceLocation_(lexer, start, end, this, arguments, var=var): - var = Scope({'lexer':lexer, 'start':start, 'end':end, 'this':this, 'arguments':arguments}, var) - var.registers(['start', 'lexer', 'end']) - var.get(u"this").put('lexer', PyJsComma(Js(0.0), Js(None))) - var.get(u"this").put('start', PyJsComma(Js(0.0), Js(None))) - var.get(u"this").put('end', PyJsComma(Js(0.0), Js(None))) - var.get(u"this").put('lexer', var.get('lexer')) - var.get(u"this").put('start', var.get('start')) - var.get(u"this").put('end', var.get('end')) - PyJsHoisted_SourceLocation_.func_name = 'SourceLocation' - var.put('SourceLocation', PyJsHoisted_SourceLocation_) - pass + var.registers([]) @Js - def PyJs_range_4_(first, second, this, arguments, var=var): - var = Scope({'first':first, 'second':second, 'this':this, 'arguments':arguments, 'range':PyJs_range_4_}, var) - var.registers(['second', 'first']) - if var.get('second').neg(): - return (var.get('first') and var.get('first').get('loc')) - else: - if (((var.get('first').neg() or var.get('first').get('loc').neg()) or var.get('second').get('loc').neg()) or PyJsStrictNeq(var.get('first').get('loc').get('lexer'),var.get('second').get('loc').get('lexer'))): - return var.get(u"null") - else: - return var.get('SourceLocation').create(var.get('first').get('loc').get('lexer'), var.get('first').get('loc').get('start'), var.get('second').get('loc').get('end')) - PyJs_range_4_._set_name('range') - var.get('SourceLocation').put('range', PyJs_range_4_) - return var.get('SourceLocation') - PyJs_anonymous_3_._set_name('anonymous') - var.put('SourceLocation', PyJs_anonymous_3_()) - @Js - def PyJs_anonymous_5_(this, arguments, var=var): + def PyJs_anonymous_3_(exports, definition, this, arguments, var=var): + var = Scope({'exports':exports, 'definition':definition, 'this':this, 'arguments':arguments}, var) + var.registers(['definition', 'key', 'exports']) + for PyJsTemp in var.get('definition'): + var.put('key', PyJsTemp) + if (var.get('__webpack_require__').callprop('o', var.get('definition'), var.get('key')) and var.get('__webpack_require__').callprop('o', var.get('exports'), var.get('key')).neg()): + var.get('Object').callprop('defineProperty', var.get('exports'), var.get('key'), Js({'enumerable':Js(True),'get':var.get('definition').get(var.get('key'))})) + PyJs_anonymous_3_._set_name('anonymous') + var.get('__webpack_require__').put('d', PyJs_anonymous_3_) + PyJs_anonymous_2_._set_name('anonymous') + PyJs_anonymous_2_().neg() + @Js + def PyJs_anonymous_4_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) - var.registers(['_proto', 'Token']) - @Js - def PyJsHoisted_Token_(text, loc, this, arguments, var=var): - var = Scope({'text':text, 'loc':loc, 'this':this, 'arguments':arguments}, var) - var.registers(['loc', 'text']) - var.get(u"this").put('text', PyJsComma(Js(0.0), Js(None))) - var.get(u"this").put('loc', PyJsComma(Js(0.0), Js(None))) - var.get(u"this").put('text', var.get('text')) - var.get(u"this").put('loc', var.get('loc')) - PyJsHoisted_Token_.func_name = 'Token' - var.put('Token', PyJsHoisted_Token_) - pass - var.put('_proto', var.get('Token').get('prototype')) - @Js - def PyJs_range_6_(endToken, text, this, arguments, var=var): - var = Scope({'endToken':endToken, 'text':text, 'this':this, 'arguments':arguments, 'range':PyJs_range_6_}, var) - var.registers(['text', 'endToken']) - return var.get('Token').create(var.get('text'), var.get('SourceLocation').callprop('range', var.get(u"this"), var.get('endToken'))) - PyJs_range_6_._set_name('range') - var.get('_proto').put('range', PyJs_range_6_) - return var.get('Token') - PyJs_anonymous_5_._set_name('anonymous') - var.put('Token_Token', PyJs_anonymous_5_()) + var.registers([]) + @Js + def PyJs_anonymous_5_(obj, prop, this, arguments, var=var): + var = Scope({'obj':obj, 'prop':prop, 'this':this, 'arguments':arguments}, var) + var.registers(['obj', 'prop']) + return var.get('Object').get('prototype').get('hasOwnProperty').callprop('call', var.get('obj'), var.get('prop')) + PyJs_anonymous_5_._set_name('anonymous') + var.get('__webpack_require__').put('o', PyJs_anonymous_5_) + PyJs_anonymous_4_._set_name('anonymous') + PyJs_anonymous_4_().neg() + var.put('__webpack_exports__', Js({})) + @Js + def PyJs_anonymous_6_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers([]) + return var.get('katex_webpack') + PyJs_anonymous_6_._set_name('anonymous') + var.get('__webpack_require__').callprop('d', var.get('__webpack_exports__'), Js({'default':PyJs_anonymous_6_})) + pass @Js def PyJs_ParseError_7_(message, token, this, arguments, var=var): var = Scope({'message':message, 'token':token, 'this':this, 'arguments':arguments, 'ParseError':PyJs_ParseError_7_}, var) - var.registers(['loc', 'input', 'left', 'end', 'underlined', 'error', 'start', 'message', 'right', 'self', 'token']) + var.registers(['token', 'input', 'underlined', 'error', 'self', 'left', 'right', 'end', 'loc', 'start', 'message']) var.get(u"this").put('position', PyJsComma(Js(0.0), Js(None))) var.put('error', (Js('KaTeX parse error: ')+var.get('message'))) pass @@ -610,10 +747,11 @@ def PyJs_ParseError_7_(message, token, this, arguments, var=var): var.put('ParseError', PyJs_ParseError_7_) var.get('ParseError').get('prototype').put('__proto__', var.get('Error').get('prototype')) var.put('src_ParseError', var.get('ParseError')) + pass @Js def PyJs_contains_8_(list, elem, this, arguments, var=var): var = Scope({'list':list, 'elem':elem, 'this':this, 'arguments':arguments, 'contains':PyJs_contains_8_}, var) - var.registers(['elem', 'list']) + var.registers(['list', 'elem']) return PyJsStrictNeq(var.get('list').callprop('indexOf', var.get('elem')),(-Js(1.0))) PyJs_contains_8_._set_name('contains') var.put('contains', PyJs_contains_8_) @@ -664,7 +802,7 @@ def PyJs_isCharacterBox_13_(group, this, arguments, var=var): var.put('baseElem', var.get('getBaseElem')(var.get('group'))) return ((PyJsStrictEq(var.get('baseElem').get('type'),Js('mathord')) or PyJsStrictEq(var.get('baseElem').get('type'),Js('textord'))) or PyJsStrictEq(var.get('baseElem').get('type'),Js('atom'))) PyJs_isCharacterBox_13_._set_name('isCharacterBox') - var.put('utils_isCharacterBox', PyJs_isCharacterBox_13_) + var.put('isCharacterBox', PyJs_isCharacterBox_13_) @Js def PyJs_InlineNonPyName_14_(value, this, arguments, var=var): var = Scope({'value':value, 'this':this, 'arguments':arguments, 'assert':PyJs_InlineNonPyName_14_}, var) @@ -675,46 +813,61 @@ def PyJs_InlineNonPyName_14_(value, this, arguments, var=var): return var.get('value') PyJs_InlineNonPyName_14_._set_name('assert') var.put('assert', PyJs_InlineNonPyName_14_) - var.put('utils', Js({'contains':var.get('contains'),'deflt':var.get('deflt'),'escape':var.get('utils_escape'),'hyphenate':var.get('hyphenate'),'getBaseElem':var.get('getBaseElem'),'isCharacterBox':var.get('utils_isCharacterBox')})) @Js - def PyJs_anonymous_15_(this, arguments, var=var): + def PyJs_protocolFromUrl_15_(url, this, arguments, var=var): + var = Scope({'url':url, 'this':this, 'arguments':arguments, 'protocolFromUrl':PyJs_protocolFromUrl_15_}, var) + var.registers(['protocol', 'url']) + var.put('protocol', JsRegExp('/^\\s*([^\\\\/#]*?)(?::|�*58|�*3a)/i').callprop('exec', var.get('url'))) + return (var.get('protocol').get('1') if (var.get('protocol')!=var.get(u"null")) else Js('_relative')) + PyJs_protocolFromUrl_15_._set_name('protocolFromUrl') + var.put('protocolFromUrl', PyJs_protocolFromUrl_15_) + var.put('utils', Js({'contains':var.get('contains'),'deflt':var.get('deflt'),'escape':var.get('utils_escape'),'hyphenate':var.get('hyphenate'),'getBaseElem':var.get('getBaseElem'),'isCharacterBox':var.get('isCharacterBox'),'protocolFromUrl':var.get('protocolFromUrl')})) + pass + @Js + def PyJs_anonymous_16_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) - var.registers(['_proto', 'Settings']) + var.registers(['Settings', '_proto']) @Js def PyJsHoisted_Settings_(options, this, arguments, var=var): var = Scope({'options':options, 'this':this, 'arguments':arguments}, var) var.registers(['options']) var.get(u"this").put('displayMode', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('output', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('leqno', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('fleqn', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('throwOnError', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('errorColor', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('macros', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('minRuleThickness', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('colorIsTextColor', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('strict', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('trust', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('maxSize', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('maxExpand', PyJsComma(Js(0.0), Js(None))) - var.get(u"this").put('allowedProtocols', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('globalGroup', PyJsComma(Js(0.0), Js(None))) var.put('options', (var.get('options') or Js({}))) var.get(u"this").put('displayMode', var.get('utils').callprop('deflt', var.get('options').get('displayMode'), Js(False))) + var.get(u"this").put('output', var.get('utils').callprop('deflt', var.get('options').get('output'), Js('htmlAndMathml'))) var.get(u"this").put('leqno', var.get('utils').callprop('deflt', var.get('options').get('leqno'), Js(False))) var.get(u"this").put('fleqn', var.get('utils').callprop('deflt', var.get('options').get('fleqn'), Js(False))) var.get(u"this").put('throwOnError', var.get('utils').callprop('deflt', var.get('options').get('throwOnError'), Js(True))) var.get(u"this").put('errorColor', var.get('utils').callprop('deflt', var.get('options').get('errorColor'), Js('#cc0000'))) var.get(u"this").put('macros', (var.get('options').get('macros') or Js({}))) + var.get(u"this").put('minRuleThickness', var.get('Math').callprop('max', Js(0.0), var.get('utils').callprop('deflt', var.get('options').get('minRuleThickness'), Js(0.0)))) var.get(u"this").put('colorIsTextColor', var.get('utils').callprop('deflt', var.get('options').get('colorIsTextColor'), Js(False))) var.get(u"this").put('strict', var.get('utils').callprop('deflt', var.get('options').get('strict'), Js('warn'))) + var.get(u"this").put('trust', var.get('utils').callprop('deflt', var.get('options').get('trust'), Js(False))) var.get(u"this").put('maxSize', var.get('Math').callprop('max', Js(0.0), var.get('utils').callprop('deflt', var.get('options').get('maxSize'), var.get('Infinity')))) var.get(u"this").put('maxExpand', var.get('Math').callprop('max', Js(0.0), var.get('utils').callprop('deflt', var.get('options').get('maxExpand'), Js(1000.0)))) - var.get(u"this").put('allowedProtocols', var.get('utils').callprop('deflt', var.get('options').get('allowedProtocols'), Js([Js('http'), Js('https'), Js('mailto'), Js('_relative')]))) + var.get(u"this").put('globalGroup', var.get('utils').callprop('deflt', var.get('options').get('globalGroup'), Js(False))) PyJsHoisted_Settings_.func_name = 'Settings' var.put('Settings', PyJsHoisted_Settings_) pass var.put('_proto', var.get('Settings').get('prototype')) @Js - def PyJs_reportNonstrict_16_(errorCode, errorMsg, token, this, arguments, var=var): - var = Scope({'errorCode':errorCode, 'errorMsg':errorMsg, 'token':token, 'this':this, 'arguments':arguments, 'reportNonstrict':PyJs_reportNonstrict_16_}, var) - var.registers(['errorCode', 'strict', 'errorMsg', 'token']) + def PyJs_reportNonstrict_17_(errorCode, errorMsg, token, this, arguments, var=var): + var = Scope({'errorCode':errorCode, 'errorMsg':errorMsg, 'token':token, 'this':this, 'arguments':arguments, 'reportNonstrict':PyJs_reportNonstrict_17_}, var) + var.registers(['errorMsg', 'token', 'errorCode', 'strict']) var.put('strict', var.get(u"this").get('strict')) if PyJsStrictEq(var.get('strict',throw=False).typeof(),Js('function')): var.put('strict', var.get('strict')(var.get('errorCode'), var.get('errorMsg'), var.get('token'))) @@ -729,27 +882,27 @@ def PyJs_reportNonstrict_16_(errorCode, errorMsg, token, this, arguments, var=va (PyJsStrictNeq(var.get('console',throw=False).typeof(),Js('undefined')) and var.get('console').callprop('warn', (Js("LaTeX-incompatible input and strict mode is set to 'warn': ")+(((var.get('errorMsg')+Js(' ['))+var.get('errorCode'))+Js(']'))))) else: (PyJsStrictNeq(var.get('console',throw=False).typeof(),Js('undefined')) and var.get('console').callprop('warn', (Js('LaTeX-incompatible input and strict mode is set to ')+((((((Js("unrecognized '")+var.get('strict'))+Js("': "))+var.get('errorMsg'))+Js(' ['))+var.get('errorCode'))+Js(']'))))) - PyJs_reportNonstrict_16_._set_name('reportNonstrict') - var.get('_proto').put('reportNonstrict', PyJs_reportNonstrict_16_) + PyJs_reportNonstrict_17_._set_name('reportNonstrict') + var.get('_proto').put('reportNonstrict', PyJs_reportNonstrict_17_) @Js - def PyJs_useStrictBehavior_17_(errorCode, errorMsg, token, this, arguments, var=var): - var = Scope({'errorCode':errorCode, 'errorMsg':errorMsg, 'token':token, 'this':this, 'arguments':arguments, 'useStrictBehavior':PyJs_useStrictBehavior_17_}, var) - var.registers(['errorCode', 'strict', 'errorMsg', 'token']) + def PyJs_useStrictBehavior_18_(errorCode, errorMsg, token, this, arguments, var=var): + var = Scope({'errorCode':errorCode, 'errorMsg':errorMsg, 'token':token, 'this':this, 'arguments':arguments, 'useStrictBehavior':PyJs_useStrictBehavior_18_}, var) + var.registers(['errorMsg', 'token', 'errorCode', 'strict']) var.put('strict', var.get(u"this").get('strict')) if PyJsStrictEq(var.get('strict',throw=False).typeof(),Js('function')): try: var.put('strict', var.get('strict')(var.get('errorCode'), var.get('errorMsg'), var.get('token'))) except PyJsException as PyJsTempException: - PyJsHolder_6572726f72_2351029 = var.own.get('error') + PyJsHolder_6572726f72_47222866 = var.own.get('error') var.force_own_put('error', PyExceptionToJs(PyJsTempException)) try: var.put('strict', Js('error')) finally: - if PyJsHolder_6572726f72_2351029 is not None: - var.own['error'] = PyJsHolder_6572726f72_2351029 + if PyJsHolder_6572726f72_47222866 is not None: + var.own['error'] = PyJsHolder_6572726f72_47222866 else: del var.own['error'] - del PyJsHolder_6572726f72_2351029 + del PyJsHolder_6572726f72_47222866 if (var.get('strict').neg() or PyJsStrictEq(var.get('strict'),Js('ignore'))): return Js(False) else: @@ -762,20 +915,30 @@ def PyJs_useStrictBehavior_17_(errorCode, errorMsg, token, this, arguments, var= else: (PyJsStrictNeq(var.get('console',throw=False).typeof(),Js('undefined')) and var.get('console').callprop('warn', (Js('LaTeX-incompatible input and strict mode is set to ')+((((((Js("unrecognized '")+var.get('strict'))+Js("': "))+var.get('errorMsg'))+Js(' ['))+var.get('errorCode'))+Js(']'))))) return Js(False) - PyJs_useStrictBehavior_17_._set_name('useStrictBehavior') - var.get('_proto').put('useStrictBehavior', PyJs_useStrictBehavior_17_) + PyJs_useStrictBehavior_18_._set_name('useStrictBehavior') + var.get('_proto').put('useStrictBehavior', PyJs_useStrictBehavior_18_) + @Js + def PyJs_isTrusted_19_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments, 'isTrusted':PyJs_isTrusted_19_}, var) + var.registers(['trust', 'context']) + if (var.get('context').get('url') and var.get('context').get('protocol').neg()): + var.get('context').put('protocol', var.get('utils').callprop('protocolFromUrl', var.get('context').get('url'))) + var.put('trust', (var.get(u"this").callprop('trust', var.get('context')) if PyJsStrictEq(var.get(u"this").get('trust').typeof(),Js('function')) else var.get(u"this").get('trust'))) + return var.get('Boolean')(var.get('trust')) + PyJs_isTrusted_19_._set_name('isTrusted') + var.get('_proto').put('isTrusted', PyJs_isTrusted_19_) return var.get('Settings') - PyJs_anonymous_15_._set_name('anonymous') - var.put('Settings_Settings', PyJs_anonymous_15_()) - var.put('src_Settings', var.get('Settings_Settings')) + PyJs_anonymous_16_._set_name('anonymous') + var.put('Settings', PyJs_anonymous_16_()) + pass @Js - def PyJs_anonymous_18_(this, arguments, var=var): + def PyJs_anonymous_20_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) var.registers(['_proto', 'Style']) @Js def PyJsHoisted_Style_(id, size, cramped, this, arguments, var=var): var = Scope({'id':id, 'size':size, 'cramped':cramped, 'this':this, 'arguments':arguments}, var) - var.registers(['cramped', 'size', 'id']) + var.registers(['size', 'id', 'cramped']) var.get(u"this").put('id', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('size', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('cramped', PyJsComma(Js(0.0), Js(None))) @@ -787,57 +950,57 @@ def PyJsHoisted_Style_(id, size, cramped, this, arguments, var=var): pass var.put('_proto', var.get('Style').get('prototype')) @Js - def PyJs_sup_19_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'sup':PyJs_sup_19_}, var) + def PyJs_sup_21_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'sup':PyJs_sup_21_}, var) var.registers([]) - return var.get('Style_styles').get(var.get('_sup').get(var.get(u"this").get('id'))) - PyJs_sup_19_._set_name('sup') - var.get('_proto').put('sup', PyJs_sup_19_) + return var.get('styles').get(var.get('_sup').get(var.get(u"this").get('id'))) + PyJs_sup_21_._set_name('sup') + var.get('_proto').put('sup', PyJs_sup_21_) @Js - def PyJs_sub_20_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'sub':PyJs_sub_20_}, var) + def PyJs_sub_22_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'sub':PyJs_sub_22_}, var) var.registers([]) - return var.get('Style_styles').get(var.get('_sub').get(var.get(u"this").get('id'))) - PyJs_sub_20_._set_name('sub') - var.get('_proto').put('sub', PyJs_sub_20_) + return var.get('styles').get(var.get('_sub').get(var.get(u"this").get('id'))) + PyJs_sub_22_._set_name('sub') + var.get('_proto').put('sub', PyJs_sub_22_) @Js - def PyJs_fracNum_21_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'fracNum':PyJs_fracNum_21_}, var) + def PyJs_fracNum_23_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'fracNum':PyJs_fracNum_23_}, var) var.registers([]) - return var.get('Style_styles').get(var.get('_fracNum').get(var.get(u"this").get('id'))) - PyJs_fracNum_21_._set_name('fracNum') - var.get('_proto').put('fracNum', PyJs_fracNum_21_) + return var.get('styles').get(var.get('_fracNum').get(var.get(u"this").get('id'))) + PyJs_fracNum_23_._set_name('fracNum') + var.get('_proto').put('fracNum', PyJs_fracNum_23_) @Js - def PyJs_fracDen_22_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'fracDen':PyJs_fracDen_22_}, var) + def PyJs_fracDen_24_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'fracDen':PyJs_fracDen_24_}, var) var.registers([]) - return var.get('Style_styles').get(var.get('_fracDen').get(var.get(u"this").get('id'))) - PyJs_fracDen_22_._set_name('fracDen') - var.get('_proto').put('fracDen', PyJs_fracDen_22_) + return var.get('styles').get(var.get('_fracDen').get(var.get(u"this").get('id'))) + PyJs_fracDen_24_._set_name('fracDen') + var.get('_proto').put('fracDen', PyJs_fracDen_24_) @Js - def PyJs_cramp_23_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'cramp':PyJs_cramp_23_}, var) + def PyJs_cramp_25_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'cramp':PyJs_cramp_25_}, var) var.registers([]) - return var.get('Style_styles').get(var.get('_cramp').get(var.get(u"this").get('id'))) - PyJs_cramp_23_._set_name('cramp') - var.get('_proto').put('cramp', PyJs_cramp_23_) + return var.get('styles').get(var.get('_cramp').get(var.get(u"this").get('id'))) + PyJs_cramp_25_._set_name('cramp') + var.get('_proto').put('cramp', PyJs_cramp_25_) @Js - def PyJs_text_24_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'text':PyJs_text_24_}, var) + def PyJs_text_26_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'text':PyJs_text_26_}, var) var.registers([]) - return var.get('Style_styles').get(var.get('_text').get(var.get(u"this").get('id'))) - PyJs_text_24_._set_name('text') - var.get('_proto').put('text', PyJs_text_24_) + return var.get('styles').get(var.get('_text').get(var.get(u"this").get('id'))) + PyJs_text_26_._set_name('text') + var.get('_proto').put('text', PyJs_text_26_) @Js - def PyJs_isTight_25_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'isTight':PyJs_isTight_25_}, var) + def PyJs_isTight_27_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'isTight':PyJs_isTight_27_}, var) var.registers([]) return (var.get(u"this").get('size')>=Js(2.0)) - PyJs_isTight_25_._set_name('isTight') - var.get('_proto').put('isTight', PyJs_isTight_25_) + PyJs_isTight_27_._set_name('isTight') + var.get('_proto').put('isTight', PyJs_isTight_27_) return var.get('Style') - PyJs_anonymous_18_._set_name('anonymous') - var.put('Style', PyJs_anonymous_18_()) + PyJs_anonymous_20_._set_name('anonymous') + var.put('Style', PyJs_anonymous_20_()) var.put('D', Js(0.0)) var.put('Dc', Js(1.0)) var.put('T', Js(2.0)) @@ -846,46 +1009,183 @@ def PyJs_isTight_25_(this, arguments, var=var): var.put('Sc', Js(5.0)) var.put('SS', Js(6.0)) var.put('SSc', Js(7.0)) - var.put('Style_styles', Js([var.get('Style').create(var.get('D'), Js(0.0), Js(False)), var.get('Style').create(var.get('Dc'), Js(0.0), Js(True)), var.get('Style').create(var.get('T'), Js(1.0), Js(False)), var.get('Style').create(var.get('Tc'), Js(1.0), Js(True)), var.get('Style').create(var.get('S'), Js(2.0), Js(False)), var.get('Style').create(var.get('Sc'), Js(2.0), Js(True)), var.get('Style').create(var.get('SS'), Js(3.0), Js(False)), var.get('Style').create(var.get('SSc'), Js(3.0), Js(True))])) + var.put('styles', Js([var.get('Style').create(var.get('D'), Js(0.0), Js(False)), var.get('Style').create(var.get('Dc'), Js(0.0), Js(True)), var.get('Style').create(var.get('T'), Js(1.0), Js(False)), var.get('Style').create(var.get('Tc'), Js(1.0), Js(True)), var.get('Style').create(var.get('S'), Js(2.0), Js(False)), var.get('Style').create(var.get('Sc'), Js(2.0), Js(True)), var.get('Style').create(var.get('SS'), Js(3.0), Js(False)), var.get('Style').create(var.get('SSc'), Js(3.0), Js(True))])) var.put('_sup', Js([var.get('S'), var.get('Sc'), var.get('S'), var.get('Sc'), var.get('SS'), var.get('SSc'), var.get('SS'), var.get('SSc')])) var.put('_sub', Js([var.get('Sc'), var.get('Sc'), var.get('Sc'), var.get('Sc'), var.get('SSc'), var.get('SSc'), var.get('SSc'), var.get('SSc')])) var.put('_fracNum', Js([var.get('T'), var.get('Tc'), var.get('S'), var.get('Sc'), var.get('SS'), var.get('SSc'), var.get('SS'), var.get('SSc')])) var.put('_fracDen', Js([var.get('Tc'), var.get('Tc'), var.get('Sc'), var.get('Sc'), var.get('SSc'), var.get('SSc'), var.get('SSc'), var.get('SSc')])) var.put('_cramp', Js([var.get('Dc'), var.get('Dc'), var.get('Tc'), var.get('Tc'), var.get('Sc'), var.get('Sc'), var.get('SSc'), var.get('SSc')])) var.put('_text', Js([var.get('D'), var.get('Dc'), var.get('T'), var.get('Tc'), var.get('T'), var.get('Tc'), var.get('T'), var.get('Tc')])) - var.put('src_Style', Js({'DISPLAY':var.get('Style_styles').get(var.get('D')),'TEXT':var.get('Style_styles').get(var.get('T')),'SCRIPT':var.get('Style_styles').get(var.get('S')),'SCRIPTSCRIPT':var.get('Style_styles').get(var.get('SS'))})) - var.put('scriptData', Js([Js({'name':Js('latin'),'blocks':Js([Js([Js(256), Js(591)]), Js([Js(768), Js(879)])])}), Js({'name':Js('cyrillic'),'blocks':Js([Js([Js(1024), Js(1279)])])}), Js({'name':Js('brahmic'),'blocks':Js([Js([Js(2304), Js(4255)])])}), Js({'name':Js('georgian'),'blocks':Js([Js([Js(4256), Js(4351)])])}), Js({'name':Js('cjk'),'blocks':Js([Js([Js(12288), Js(12543)]), Js([Js(19968), Js(40879)]), Js([Js(65280), Js(65376)])])}), Js({'name':Js('hangul'),'blocks':Js([Js([Js(44032), Js(55215)])])})])) + var.put('src_Style', Js({'DISPLAY':var.get('styles').get(var.get('D')),'TEXT':var.get('styles').get(var.get('T')),'SCRIPT':var.get('styles').get(var.get('S')),'SCRIPTSCRIPT':var.get('styles').get(var.get('SS'))})) + pass + var.put('scriptData', Js([Js({'name':Js('latin'),'blocks':Js([Js([Js(256), Js(591)]), Js([Js(768), Js(879)])])}), Js({'name':Js('cyrillic'),'blocks':Js([Js([Js(1024), Js(1279)])])}), Js({'name':Js('armenian'),'blocks':Js([Js([Js(1328), Js(1423)])])}), Js({'name':Js('brahmic'),'blocks':Js([Js([Js(2304), Js(4255)])])}), Js({'name':Js('georgian'),'blocks':Js([Js([Js(4256), Js(4351)])])}), Js({'name':Js('cjk'),'blocks':Js([Js([Js(12288), Js(12543)]), Js([Js(19968), Js(40879)]), Js([Js(65280), Js(65376)])])}), Js({'name':Js('hangul'),'blocks':Js([Js([Js(44032), Js(55215)])])})])) pass var.put('allBlocks', Js([])) @Js - def PyJs_anonymous_26_(s, this, arguments, var=var): + def PyJs_anonymous_28_(s, this, arguments, var=var): var = Scope({'s':s, 'this':this, 'arguments':arguments}, var) var.registers(['s']) @Js - def PyJs_anonymous_27_(b, this, arguments, var=var): + def PyJs_anonymous_29_(b, this, arguments, var=var): var = Scope({'b':b, 'this':this, 'arguments':arguments}, var) var.registers(['b']) return var.get('allBlocks').get('push').callprop('apply', var.get('allBlocks'), var.get('b')) - PyJs_anonymous_27_._set_name('anonymous') - return var.get('s').get('blocks').callprop('forEach', PyJs_anonymous_27_) - PyJs_anonymous_26_._set_name('anonymous') - var.get('scriptData').callprop('forEach', PyJs_anonymous_26_) + PyJs_anonymous_29_._set_name('anonymous') + return var.get('s').get('blocks').callprop('forEach', PyJs_anonymous_29_) + PyJs_anonymous_28_._set_name('anonymous') + var.get('scriptData').callprop('forEach', PyJs_anonymous_28_) + pass pass var.put('hLinePad', Js(80.0)) - def PyJs_LONG_28_(var=var): - return ((Js('M95,')+(Js(622.0)+var.get('hLinePad')))+Js('c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,\n-10,-9.5,-14c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54c44.2,-33.3,65.8,\n-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10s173,378,173,378c0.7,0,\n35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429c69,-144,104.5,-217.7,106.5,\n-221c5.3,-9.3,12,-14,20,-14H400000v40H845.2724s-225.272,467,-225.272,467\ns-235,486,-235,486c-2.7,4.7,-9,7,-19,7c-6,0,-10,-1,-12,-3s-194,-422,-194,-422\ns-65,47,-65,47z M834 ')) - def PyJs_LONG_29_(var=var): - return ((Js('M263,')+(Js(601.0)+var.get('hLinePad')))+Js('c0.7,0,18,39.7,52,119c34,79.3,68.167,\n158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120c340,-704.7,510.7,-1060.3,512,-1067\nc4.7,-7.3,11,-11,19,-11H40000v40H1012.3s-271.3,567,-271.3,567c-38.7,80.7,-84,\n175,-136,283c-52,108,-89.167,185.3,-111.5,232c-22.3,46.7,-33.8,70.3,-34.5,71\nc-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1s-109,-253,-109,-253c-72.7,-168,-109.3,\n-252,-110,-252c-10.7,8,-22,16.7,-34,26c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26\ns76,-59,76,-59s76,-60,76,-60z M1001 ')) - def PyJs_LONG_30_(var=var): - return ((Js('M1001,')+var.get('hLinePad'))+Js('H400000v40H1013.1s-83.4,268,-264.1,840c-180.7,\n572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,\n-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744c-10,12,-21,25,-33,39s-32,39,-32,39\nc-6,-5.3,-15,-14,-27,-26s25,-30,25,-30c26.7,-32.7,52,-63,76,-91s52,-60,52,-60\ns208,722,208,722c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,\n-658.5c53.7,-170.3,84.5,-266.8,92.5,-289.5c4,-6.7,10,-10,18,-10z\nM1001 ')) - def PyJs_LONG_31_(var=var): - return ((Js('M424,')+(Js(2398.0)+var.get('hLinePad')))+Js('c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,\n-342,-109.8,-513.3,-110.5,-514c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,\n25c-5.7,9.3,-9.8,16,-12.5,20s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,\n-13s76,-122,76,-122s77,-121,77,-121s209,968,209,968c0,-2,84.7,-361.7,254,-1079\nc169.3,-717.3,254.7,-1077.7,256,-1081c4,-6.7,10,-10,18,-10H400000v40H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M1001 ')) - def PyJs_LONG_32_(var=var): - return ((Js('M473,')+(Js(2713.0)+var.get('hLinePad')))+Js('c339.3,-1799.3,509.3,-2700,510,-2702\nc3.3,-7.3,9.3,-11,18,-11H400000v40H1017.7s-90.5,478,-276.2,1466c-185.7,988,\n-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,\n-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200c0,-1.3,-5.3,8.7,-16,30c-10.7,\n21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26s76,-153,76,-153s77,-151,\n77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,606z\nM1001 ')) - var.put('svgGeometry_path', Js({'sqrtMain':((PyJs_LONG_28_()+var.get('hLinePad'))+Js('H400000v40H845z')),'sqrtSize1':((PyJs_LONG_29_()+var.get('hLinePad'))+Js('H40000v40H1012z')),'sqrtSize2':((PyJs_LONG_30_()+var.get('hLinePad'))+Js('H400000v40H1013z')),'sqrtSize3':((PyJs_LONG_31_()+var.get('hLinePad'))+Js('H400000v40H1014z')),'sqrtSize4':((PyJs_LONG_32_()+var.get('hLinePad'))+Js('H400000v40H1017z')),'doubleleftarrow':Js('M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z'),'doublerightarrow':Js('M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z'),'leftarrow':Js('M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z'),'leftbrace':Js('M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z'),'leftbraceunder':Js('M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z'),'leftgroup':Js('M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z'),'leftgroupunder':Js('M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z'),'leftharpoon':Js('M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z'),'leftharpoonplus':Js('M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z'),'leftharpoondown':Js('M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z'),'leftharpoondownplus':Js('M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z'),'lefthook':Js('M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z'),'leftlinesegment':Js('M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z'),'leftmapsto':Js('M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z'),'leftToFrom':Js('M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z'),'longequal':Js('M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z'),'midbrace':Js('M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z'),'midbraceunder':Js('M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z'),'oiintSize1':Js('M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z'),'oiintSize2':Js('M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z'),'oiiintSize1':Js('M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z'),'oiiintSize2':Js('M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z'),'rightarrow':Js('M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z'),'rightbrace':Js('M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z'),'rightbraceunder':Js('M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z'),'rightgroup':Js('M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z'),'rightgroupunder':Js('M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z'),'rightharpoon':Js('M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z'),'rightharpoonplus':Js('M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z'),'rightharpoondown':Js('M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z'),'rightharpoondownplus':Js('M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z'),'righthook':Js('M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z'),'rightlinesegment':Js('M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z'),'rightToFrom':Js('M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z'),'twoheadleftarrow':Js('M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z'),'twoheadrightarrow':Js('M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z'),'tilde1':Js('M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z'),'tilde2':Js('M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z'),'tilde3':Js('M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z'),'tilde4':Js('M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z'),'vec':Js('M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z'),'widehat1':Js('M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z'),'widehat2':Js('M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z'),'widehat3':Js('M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z'),'widehat4':Js('M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z'),'widecheck1':Js('M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z'),'widecheck2':Js('M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z'),'widecheck3':Js('M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z'),'widecheck4':Js('M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z'),'baraboveleftarrow':Js('M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z'),'rightarrowabovebar':Js('M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z'),'baraboveshortleftharpoon':Js('M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z'),'rightharpoonaboveshortbar':Js('M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z'),'shortbaraboveleftharpoon':Js('M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z'),'shortrightharpoonabovebar':Js('M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z')})) - var.put('svgGeometry', Js({'path':var.get('svgGeometry_path')})) - @Js - def PyJs_anonymous_33_(this, arguments, var=var): + @Js + def PyJs_sqrtMain_30_(extraViniculum, hLinePad, this, arguments, var=var): + var = Scope({'extraViniculum':extraViniculum, 'hLinePad':hLinePad, 'this':this, 'arguments':arguments, 'sqrtMain':PyJs_sqrtMain_30_}, var) + var.registers(['extraViniculum', 'hLinePad']) + def PyJs_LONG_32_(var=var): + def PyJs_LONG_31_(var=var): + return (((Js('M95,')+((Js(622.0)+var.get('extraViniculum'))+var.get('hLinePad')))+Js('\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl'))+(var.get('extraViniculum')/Js(2.075))) + return ((((((((((PyJs_LONG_31_()+Js(' -'))+var.get('extraViniculum'))+Js('\nc5.3,-9.3,12,-14,20,-14\nH400000v'))+(Js(40.0)+var.get('extraViniculum')))+Js('H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM'))+(Js(834.0)+var.get('extraViniculum')))+Js(' '))+var.get('hLinePad'))+Js('h400000v'))+(Js(40.0)+var.get('extraViniculum'))) + return (PyJs_LONG_32_()+Js('h-400000z')) + PyJs_sqrtMain_30_._set_name('sqrtMain') + var.put('sqrtMain', PyJs_sqrtMain_30_) + @Js + def PyJs_sqrtSize1_33_(extraViniculum, hLinePad, this, arguments, var=var): + var = Scope({'extraViniculum':extraViniculum, 'hLinePad':hLinePad, 'this':this, 'arguments':arguments, 'sqrtSize1':PyJs_sqrtSize1_33_}, var) + var.registers(['extraViniculum', 'hLinePad']) + def PyJs_LONG_34_(var=var): + return ((((((((Js('M263,')+((Js(601.0)+var.get('extraViniculum'))+var.get('hLinePad')))+Js('c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl'))+(var.get('extraViniculum')/Js(2.084)))+Js(' -'))+var.get('extraViniculum'))+Js('\nc4.7,-7.3,11,-11,19,-11\nH40000v'))+(Js(40.0)+var.get('extraViniculum')))+Js('H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM')) + return ((((((PyJs_LONG_34_()+(Js(1001.0)+var.get('extraViniculum')))+Js(' '))+var.get('hLinePad'))+Js('h400000v'))+(Js(40.0)+var.get('extraViniculum')))+Js('h-400000z')) + PyJs_sqrtSize1_33_._set_name('sqrtSize1') + var.put('sqrtSize1', PyJs_sqrtSize1_33_) + @Js + def PyJs_sqrtSize2_35_(extraViniculum, hLinePad, this, arguments, var=var): + var = Scope({'extraViniculum':extraViniculum, 'hLinePad':hLinePad, 'this':this, 'arguments':arguments, 'sqrtSize2':PyJs_sqrtSize2_35_}, var) + var.registers(['extraViniculum', 'hLinePad']) + def PyJs_LONG_36_(var=var): + return ((((((((Js('M983 ')+((Js(10.0)+var.get('extraViniculum'))+var.get('hLinePad')))+Js('\nl'))+(var.get('extraViniculum')/Js(3.13)))+Js(' -'))+var.get('extraViniculum'))+Js('\nc4,-6.7,10,-10,18,-10 H400000v'))+(Js(40.0)+var.get('extraViniculum')))+Js('\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM')) + return ((((((PyJs_LONG_36_()+(Js(1001.0)+var.get('extraViniculum')))+Js(' '))+var.get('hLinePad'))+Js('h400000v'))+(Js(40.0)+var.get('extraViniculum')))+Js('h-400000z')) + PyJs_sqrtSize2_35_._set_name('sqrtSize2') + var.put('sqrtSize2', PyJs_sqrtSize2_35_) + @Js + def PyJs_sqrtSize3_37_(extraViniculum, hLinePad, this, arguments, var=var): + var = Scope({'extraViniculum':extraViniculum, 'hLinePad':hLinePad, 'this':this, 'arguments':arguments, 'sqrtSize3':PyJs_sqrtSize3_37_}, var) + var.registers(['extraViniculum', 'hLinePad']) + def PyJs_LONG_39_(var=var): + def PyJs_LONG_38_(var=var): + return ((Js('M424,')+((Js(2398.0)+var.get('extraViniculum'))+var.get('hLinePad')))+Js('\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl')) + return (((((((((((PyJs_LONG_38_()+(var.get('extraViniculum')/Js(4.223)))+Js(' -'))+var.get('extraViniculum'))+Js('c4,-6.7,10,-10,18,-10 H400000\nv'))+(Js(40.0)+var.get('extraViniculum')))+Js('H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M'))+(Js(1001.0)+var.get('extraViniculum')))+Js(' '))+var.get('hLinePad'))+Js('\nh400000v'))+(Js(40.0)+var.get('extraViniculum'))) + return (PyJs_LONG_39_()+Js('h-400000z')) + PyJs_sqrtSize3_37_._set_name('sqrtSize3') + var.put('sqrtSize3', PyJs_sqrtSize3_37_) + @Js + def PyJs_sqrtSize4_40_(extraViniculum, hLinePad, this, arguments, var=var): + var = Scope({'extraViniculum':extraViniculum, 'hLinePad':hLinePad, 'this':this, 'arguments':arguments, 'sqrtSize4':PyJs_sqrtSize4_40_}, var) + var.registers(['extraViniculum', 'hLinePad']) + def PyJs_LONG_41_(var=var): + return ((((((((Js('M473,')+((Js(2713.0)+var.get('extraViniculum'))+var.get('hLinePad')))+Js('\nc339.3,-1799.3,509.3,-2700,510,-2702 l'))+(var.get('extraViniculum')/Js(5.298)))+Js(' -'))+var.get('extraViniculum'))+Js('\nc3.3,-7.3,9.3,-11,18,-11 H400000v'))+(Js(40.0)+var.get('extraViniculum')))+Js('H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM')) + return ((((((PyJs_LONG_41_()+(Js(1001.0)+var.get('extraViniculum')))+Js(' '))+var.get('hLinePad'))+Js('h400000v'))+(Js(40.0)+var.get('extraViniculum')))+Js('H1017.7z')) + PyJs_sqrtSize4_40_._set_name('sqrtSize4') + var.put('sqrtSize4', PyJs_sqrtSize4_40_) + @Js + def PyJs_phasePath_42_(y, this, arguments, var=var): + var = Scope({'y':y, 'this':this, 'arguments':arguments, 'phasePath':PyJs_phasePath_42_}, var) + var.registers(['x', 'y']) + var.put('x', (var.get('y')/Js(2.0))) + return ((((((Js('M400000 ')+var.get('y'))+Js(' H0 L'))+var.get('x'))+Js(' 0 l65 45 L145 '))+(var.get('y')-Js(80.0)))+Js(' H400000z')) + PyJs_phasePath_42_._set_name('phasePath') + var.put('phasePath', PyJs_phasePath_42_) + @Js + def PyJs_sqrtTall_43_(extraViniculum, hLinePad, viewBoxHeight, this, arguments, var=var): + var = Scope({'extraViniculum':extraViniculum, 'hLinePad':hLinePad, 'viewBoxHeight':viewBoxHeight, 'this':this, 'arguments':arguments, 'sqrtTall':PyJs_sqrtTall_43_}, var) + var.registers(['extraViniculum', 'vertSegment', 'hLinePad', 'viewBoxHeight']) + var.put('vertSegment', (((var.get('viewBoxHeight')-Js(54.0))-var.get('hLinePad'))-var.get('extraViniculum'))) + def PyJs_LONG_44_(var=var): + return (((((((Js('M702 ')+(var.get('extraViniculum')+var.get('hLinePad')))+Js('H400000'))+(Js(40.0)+var.get('extraViniculum')))+Js('\nH742v'))+var.get('vertSegment'))+Js('l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 '))+var.get('hLinePad')) + return (((PyJs_LONG_44_()+Js('H400000v'))+(Js(40.0)+var.get('extraViniculum')))+Js('H742z')) + PyJs_sqrtTall_43_._set_name('sqrtTall') + var.put('sqrtTall', PyJs_sqrtTall_43_) + @Js + def PyJs_sqrtPath_45_(size, extraViniculum, viewBoxHeight, this, arguments, var=var): + var = Scope({'size':size, 'extraViniculum':extraViniculum, 'viewBoxHeight':viewBoxHeight, 'this':this, 'arguments':arguments, 'sqrtPath':PyJs_sqrtPath_45_}, var) + var.registers(['path', 'extraViniculum', 'viewBoxHeight', 'size']) + var.put('extraViniculum', (Js(1000.0)*var.get('extraViniculum'))) + var.put('path', Js('')) + while 1: + SWITCHED = False + CONDITION = (var.get('size')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('sqrtMain')): + SWITCHED = True + var.put('path', var.get('sqrtMain')(var.get('extraViniculum'), var.get('hLinePad'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('sqrtSize1')): + SWITCHED = True + var.put('path', var.get('sqrtSize1')(var.get('extraViniculum'), var.get('hLinePad'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('sqrtSize2')): + SWITCHED = True + var.put('path', var.get('sqrtSize2')(var.get('extraViniculum'), var.get('hLinePad'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('sqrtSize3')): + SWITCHED = True + var.put('path', var.get('sqrtSize3')(var.get('extraViniculum'), var.get('hLinePad'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('sqrtSize4')): + SWITCHED = True + var.put('path', var.get('sqrtSize4')(var.get('extraViniculum'), var.get('hLinePad'))) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('sqrtTall')): + SWITCHED = True + var.put('path', var.get('sqrtTall')(var.get('extraViniculum'), var.get('hLinePad'), var.get('viewBoxHeight'))) + SWITCHED = True + break + return var.get('path') + PyJs_sqrtPath_45_._set_name('sqrtPath') + var.put('sqrtPath', PyJs_sqrtPath_45_) + @Js + def PyJs_innerPath_46_(name, height, this, arguments, var=var): + var = Scope({'name':name, 'height':height, 'this':this, 'arguments':arguments, 'innerPath':PyJs_innerPath_46_}, var) + var.registers(['name', 'height']) + while 1: + SWITCHED = False + CONDITION = (var.get('name')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('⎜')): + SWITCHED = True + return ((((Js('M291 0 H417 V')+var.get('height'))+Js(' H291z M291 0 H417 V'))+var.get('height'))+Js(' H291z')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('∣')): + SWITCHED = True + return ((((Js('M145 0 H188 V')+var.get('height'))+Js(' H145z M145 0 H188 V'))+var.get('height'))+Js(' H145z')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('∥')): + SWITCHED = True + return (((((Js('M145 0 H188 V')+var.get('height'))+Js(' H145z M145 0 H188 V'))+var.get('height'))+Js(' H145z'))+((((Js('M367 0 H410 V')+var.get('height'))+Js(' H367z M367 0 H410 V'))+var.get('height'))+Js(' H367z'))) + if SWITCHED or PyJsStrictEq(CONDITION, Js('⎟')): + SWITCHED = True + return ((((Js('M457 0 H583 V')+var.get('height'))+Js(' H457z M457 0 H583 V'))+var.get('height'))+Js(' H457z')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('⎢')): + SWITCHED = True + return ((((Js('M319 0 H403 V')+var.get('height'))+Js(' H319z M319 0 H403 V'))+var.get('height'))+Js(' H319z')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('⎥')): + SWITCHED = True + return ((((Js('M263 0 H347 V')+var.get('height'))+Js(' H263z M263 0 H347 V'))+var.get('height'))+Js(' H263z')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('⎪')): + SWITCHED = True + return ((((Js('M384 0 H504 V')+var.get('height'))+Js(' H384z M384 0 H504 V'))+var.get('height'))+Js(' H384z')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('⏐')): + SWITCHED = True + return ((((Js('M312 0 H355 V')+var.get('height'))+Js(' H312z M312 0 H355 V'))+var.get('height'))+Js(' H312z')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('‖')): + SWITCHED = True + return (((((Js('M257 0 H300 V')+var.get('height'))+Js(' H257z M257 0 H300 V'))+var.get('height'))+Js(' H257z'))+((((Js('M478 0 H521 V')+var.get('height'))+Js(' H478z M478 0 H521 V'))+var.get('height'))+Js(' H478z'))) + if True: + SWITCHED = True + return Js('') + SWITCHED = True + break + PyJs_innerPath_46_._set_name('innerPath') + var.put('innerPath', PyJs_innerPath_46_) + var.put('path', Js({'doubleleftarrow':Js('M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z'),'doublerightarrow':Js('M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z'),'leftarrow':Js('M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z'),'leftbrace':Js('M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z'),'leftbraceunder':Js('M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z'),'leftgroup':Js('M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z'),'leftgroupunder':Js('M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z'),'leftharpoon':Js('M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z'),'leftharpoonplus':Js('M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z'),'leftharpoondown':Js('M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z'),'leftharpoondownplus':Js('M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z'),'lefthook':Js('M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z'),'leftlinesegment':Js('M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z'),'leftmapsto':Js('M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z'),'leftToFrom':Js('M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z'),'longequal':Js('M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z'),'midbrace':Js('M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z'),'midbraceunder':Js('M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z'),'oiintSize1':Js('M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z'),'oiintSize2':Js('M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z'),'oiiintSize1':Js('M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z'),'oiiintSize2':Js('M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z'),'rightarrow':Js('M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z'),'rightbrace':Js('M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z'),'rightbraceunder':Js('M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z'),'rightgroup':Js('M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z'),'rightgroupunder':Js('M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z'),'rightharpoon':Js('M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z'),'rightharpoonplus':Js('M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z'),'rightharpoondown':Js('M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z'),'rightharpoondownplus':Js('M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z'),'righthook':Js('M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z'),'rightlinesegment':Js('M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z'),'rightToFrom':Js('M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z'),'twoheadleftarrow':Js('M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z'),'twoheadrightarrow':Js('M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z'),'tilde1':Js('M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z'),'tilde2':Js('M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z'),'tilde3':Js('M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z'),'tilde4':Js('M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z'),'vec':Js('M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z'),'widehat1':Js('M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z'),'widehat2':Js('M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z'),'widehat3':Js('M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z'),'widehat4':Js('M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z'),'widecheck1':Js('M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z'),'widecheck2':Js('M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z'),'widecheck3':Js('M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z'),'widecheck4':Js('M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z'),'baraboveleftarrow':Js('M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z'),'rightarrowabovebar':Js('M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z'),'baraboveshortleftharpoon':Js('M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z'),'rightharpoonaboveshortbar':Js('M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z'),'shortbaraboveleftharpoon':Js('M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z'),'shortrightharpoonabovebar':Js('M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z')})) + pass + @Js + def PyJs_anonymous_47_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) var.registers(['_proto', 'DocumentFragment']) @Js @@ -909,15 +1209,15 @@ def PyJsHoisted_DocumentFragment_(children, this, arguments, var=var): pass var.put('_proto', var.get('DocumentFragment').get('prototype')) @Js - def PyJs_hasClass_34_(className, this, arguments, var=var): - var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_34_}, var) + def PyJs_hasClass_48_(className, this, arguments, var=var): + var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_48_}, var) var.registers(['className']) return var.get('utils').callprop('contains', var.get(u"this").get('classes'), var.get('className')) - PyJs_hasClass_34_._set_name('hasClass') - var.get('_proto').put('hasClass', PyJs_hasClass_34_) + PyJs_hasClass_48_._set_name('hasClass') + var.get('_proto').put('hasClass', PyJs_hasClass_48_) @Js - def PyJs_toNode_35_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_35_}, var) + def PyJs_toNode_49_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_49_}, var) var.registers(['frag', 'i']) var.put('frag', var.get('document').callprop('createDocumentFragment')) #for JS loop @@ -928,12 +1228,12 @@ def PyJs_toNode_35_(this, arguments, var=var): finally: (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) return var.get('frag') - PyJs_toNode_35_._set_name('toNode') - var.get('_proto').put('toNode', PyJs_toNode_35_) + PyJs_toNode_49_._set_name('toNode') + var.get('_proto').put('toNode', PyJs_toNode_49_) @Js - def PyJs_toMarkup_36_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_36_}, var) - var.registers(['i', 'markup']) + def PyJs_toMarkup_50_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_50_}, var) + var.registers(['markup', 'i']) var.put('markup', Js('')) #for JS loop var.put('i', Js(0.0)) @@ -943,42 +1243,43 @@ def PyJs_toMarkup_36_(this, arguments, var=var): finally: (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) return var.get('markup') - PyJs_toMarkup_36_._set_name('toMarkup') - var.get('_proto').put('toMarkup', PyJs_toMarkup_36_) + PyJs_toMarkup_50_._set_name('toMarkup') + var.get('_proto').put('toMarkup', PyJs_toMarkup_50_) @Js - def PyJs_toText_37_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toText':PyJs_toText_37_}, var) + def PyJs_toText_51_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toText':PyJs_toText_51_}, var) var.registers(['toText']) @Js - def PyJs_toText_38_(child, this, arguments, var=var): - var = Scope({'child':child, 'this':this, 'arguments':arguments, 'toText':PyJs_toText_38_}, var) + def PyJs_toText_52_(child, this, arguments, var=var): + var = Scope({'child':child, 'this':this, 'arguments':arguments, 'toText':PyJs_toText_52_}, var) var.registers(['child']) return var.get('child').callprop('toText') - PyJs_toText_38_._set_name('toText') - var.put('toText', PyJs_toText_38_) + PyJs_toText_52_._set_name('toText') + var.put('toText', PyJs_toText_52_) return var.get(u"this").get('children').callprop('map', var.get('toText')).callprop('join', Js('')) - PyJs_toText_37_._set_name('toText') - var.get('_proto').put('toText', PyJs_toText_37_) + PyJs_toText_51_._set_name('toText') + var.get('_proto').put('toText', PyJs_toText_51_) return var.get('DocumentFragment') - PyJs_anonymous_33_._set_name('anonymous') - var.put('tree_DocumentFragment', PyJs_anonymous_33_()) + PyJs_anonymous_47_._set_name('anonymous') + var.put('DocumentFragment', PyJs_anonymous_47_()) + pass @Js - def PyJs_createClass_39_(classes, this, arguments, var=var): - var = Scope({'classes':classes, 'this':this, 'arguments':arguments, 'createClass':PyJs_createClass_39_}, var) + def PyJs_createClass_53_(classes, this, arguments, var=var): + var = Scope({'classes':classes, 'this':this, 'arguments':arguments, 'createClass':PyJs_createClass_53_}, var) var.registers(['classes']) @Js - def PyJs_anonymous_40_(cls, this, arguments, var=var): + def PyJs_anonymous_54_(cls, this, arguments, var=var): var = Scope({'cls':cls, 'this':this, 'arguments':arguments}, var) var.registers(['cls']) return var.get('cls') - PyJs_anonymous_40_._set_name('anonymous') - return var.get('classes').callprop('filter', PyJs_anonymous_40_).callprop('join', Js(' ')) - PyJs_createClass_39_._set_name('createClass') - var.put('createClass', PyJs_createClass_39_) - @Js - def PyJs_initNode_41_(classes, options, style, this, arguments, var=var): - var = Scope({'classes':classes, 'options':options, 'style':style, 'this':this, 'arguments':arguments, 'initNode':PyJs_initNode_41_}, var) - var.registers(['color', 'options', 'style', 'classes']) + PyJs_anonymous_54_._set_name('anonymous') + return var.get('classes').callprop('filter', PyJs_anonymous_54_).callprop('join', Js(' ')) + PyJs_createClass_53_._set_name('createClass') + var.put('createClass', PyJs_createClass_53_) + @Js + def PyJs_initNode_55_(classes, options, style, this, arguments, var=var): + var = Scope({'classes':classes, 'options':options, 'style':style, 'this':this, 'arguments':arguments, 'initNode':PyJs_initNode_55_}, var) + var.registers(['style', 'color', 'options', 'classes']) var.get(u"this").put('classes', (var.get('classes') or Js([]))) var.get(u"this").put('attributes', Js({})) var.get(u"this").put('height', Js(0.0)) @@ -991,12 +1292,12 @@ def PyJs_initNode_41_(classes, options, style, this, arguments, var=var): var.put('color', var.get('options').callprop('getColor')) if var.get('color'): var.get(u"this").get('style').put('color', var.get('color')) - PyJs_initNode_41_._set_name('initNode') - var.put('initNode', PyJs_initNode_41_) + PyJs_initNode_55_._set_name('initNode') + var.put('initNode', PyJs_initNode_55_) @Js - def PyJs_toNode_42_(tagName, this, arguments, var=var): - var = Scope({'tagName':tagName, 'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_42_}, var) - var.registers(['i', 'node', 'tagName', 'style', 'attr']) + def PyJs_toNode_56_(tagName, this, arguments, var=var): + var = Scope({'tagName':tagName, 'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_56_}, var) + var.registers(['attr', 'tagName', 'i', 'node', 'style']) var.put('node', var.get('document').callprop('createElement', var.get('tagName'))) var.get('node').put('className', var.get('createClass')(var.get(u"this").get('classes'))) for PyJsTemp in var.get(u"this").get('style'): @@ -1015,12 +1316,12 @@ def PyJs_toNode_42_(tagName, this, arguments, var=var): finally: (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) return var.get('node') - PyJs_toNode_42_._set_name('toNode') - var.put('_toNode', PyJs_toNode_42_) + PyJs_toNode_56_._set_name('toNode') + var.put('_toNode', PyJs_toNode_56_) @Js - def PyJs_toMarkup_43_(tagName, this, arguments, var=var): - var = Scope({'tagName':tagName, 'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_43_}, var) - var.registers(['i', 'tagName', 'style', 'markup', 'attr', 'styles']) + def PyJs_toMarkup_57_(tagName, this, arguments, var=var): + var = Scope({'tagName':tagName, 'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_57_}, var) + var.registers(['attr', 'styles', 'tagName', 'markup', 'i', 'style']) var.put('markup', (Js('<')+var.get('tagName'))) if var.get(u"this").get('classes').get('length'): var.put('markup', ((Js(' class="')+var.get('utils').callprop('escape', var.get('createClass')(var.get(u"this").get('classes'))))+Js('"')), '+') @@ -1045,16 +1346,16 @@ def PyJs_toMarkup_43_(tagName, this, arguments, var=var): (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) var.put('markup', ((Js('')), '+') return var.get('markup') - PyJs_toMarkup_43_._set_name('toMarkup') - var.put('_toMarkup', PyJs_toMarkup_43_) + PyJs_toMarkup_57_._set_name('toMarkup') + var.put('_toMarkup', PyJs_toMarkup_57_) @Js - def PyJs_anonymous_44_(this, arguments, var=var): + def PyJs_anonymous_58_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) var.registers(['_proto', 'Span']) @Js def PyJsHoisted_Span_(classes, children, options, style, this, arguments, var=var): var = Scope({'classes':classes, 'children':children, 'options':options, 'style':style, 'this':this, 'arguments':arguments}, var) - var.registers(['options', 'style', 'classes', 'children']) + var.registers(['style', 'children', 'options', 'classes']) var.get(u"this").put('children', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('attributes', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('classes', PyJsComma(Js(0.0), Js(None))) @@ -1070,44 +1371,44 @@ def PyJsHoisted_Span_(classes, children, options, style, this, arguments, var=va pass var.put('_proto', var.get('Span').get('prototype')) @Js - def PyJs_setAttribute_45_(attribute, value, this, arguments, var=var): - var = Scope({'attribute':attribute, 'value':value, 'this':this, 'arguments':arguments, 'setAttribute':PyJs_setAttribute_45_}, var) - var.registers(['attribute', 'value']) + def PyJs_setAttribute_59_(attribute, value, this, arguments, var=var): + var = Scope({'attribute':attribute, 'value':value, 'this':this, 'arguments':arguments, 'setAttribute':PyJs_setAttribute_59_}, var) + var.registers(['value', 'attribute']) var.get(u"this").get('attributes').put(var.get('attribute'), var.get('value')) - PyJs_setAttribute_45_._set_name('setAttribute') - var.get('_proto').put('setAttribute', PyJs_setAttribute_45_) + PyJs_setAttribute_59_._set_name('setAttribute') + var.get('_proto').put('setAttribute', PyJs_setAttribute_59_) @Js - def PyJs_hasClass_46_(className, this, arguments, var=var): - var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_46_}, var) + def PyJs_hasClass_60_(className, this, arguments, var=var): + var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_60_}, var) var.registers(['className']) return var.get('utils').callprop('contains', var.get(u"this").get('classes'), var.get('className')) - PyJs_hasClass_46_._set_name('hasClass') - var.get('_proto').put('hasClass', PyJs_hasClass_46_) + PyJs_hasClass_60_._set_name('hasClass') + var.get('_proto').put('hasClass', PyJs_hasClass_60_) @Js - def PyJs_toNode_47_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_47_}, var) + def PyJs_toNode_61_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_61_}, var) var.registers([]) return var.get('_toNode').callprop('call', var.get(u"this"), Js('span')) - PyJs_toNode_47_._set_name('toNode') - var.get('_proto').put('toNode', PyJs_toNode_47_) + PyJs_toNode_61_._set_name('toNode') + var.get('_proto').put('toNode', PyJs_toNode_61_) @Js - def PyJs_toMarkup_48_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_48_}, var) + def PyJs_toMarkup_62_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_62_}, var) var.registers([]) return var.get('_toMarkup').callprop('call', var.get(u"this"), Js('span')) - PyJs_toMarkup_48_._set_name('toMarkup') - var.get('_proto').put('toMarkup', PyJs_toMarkup_48_) + PyJs_toMarkup_62_._set_name('toMarkup') + var.get('_proto').put('toMarkup', PyJs_toMarkup_62_) return var.get('Span') - PyJs_anonymous_44_._set_name('anonymous') - var.put('domTree_Span', PyJs_anonymous_44_()) + PyJs_anonymous_58_._set_name('anonymous') + var.put('Span', PyJs_anonymous_58_()) @Js - def PyJs_anonymous_49_(this, arguments, var=var): + def PyJs_anonymous_63_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) - var.registers(['Anchor', '_proto2']) + var.registers(['_proto2', 'Anchor']) @Js def PyJsHoisted_Anchor_(href, classes, children, options, this, arguments, var=var): var = Scope({'href':href, 'classes':classes, 'children':children, 'options':options, 'this':this, 'arguments':arguments}, var) - var.registers(['options', 'classes', 'href', 'children']) + var.registers(['href', 'children', 'options', 'classes']) var.get(u"this").put('children', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('attributes', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('classes', PyJsComma(Js(0.0), Js(None))) @@ -1123,44 +1424,44 @@ def PyJsHoisted_Anchor_(href, classes, children, options, this, arguments, var=v pass var.put('_proto2', var.get('Anchor').get('prototype')) @Js - def PyJs_setAttribute_50_(attribute, value, this, arguments, var=var): - var = Scope({'attribute':attribute, 'value':value, 'this':this, 'arguments':arguments, 'setAttribute':PyJs_setAttribute_50_}, var) - var.registers(['attribute', 'value']) + def PyJs_setAttribute_64_(attribute, value, this, arguments, var=var): + var = Scope({'attribute':attribute, 'value':value, 'this':this, 'arguments':arguments, 'setAttribute':PyJs_setAttribute_64_}, var) + var.registers(['value', 'attribute']) var.get(u"this").get('attributes').put(var.get('attribute'), var.get('value')) - PyJs_setAttribute_50_._set_name('setAttribute') - var.get('_proto2').put('setAttribute', PyJs_setAttribute_50_) + PyJs_setAttribute_64_._set_name('setAttribute') + var.get('_proto2').put('setAttribute', PyJs_setAttribute_64_) @Js - def PyJs_hasClass_51_(className, this, arguments, var=var): - var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_51_}, var) + def PyJs_hasClass_65_(className, this, arguments, var=var): + var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_65_}, var) var.registers(['className']) return var.get('utils').callprop('contains', var.get(u"this").get('classes'), var.get('className')) - PyJs_hasClass_51_._set_name('hasClass') - var.get('_proto2').put('hasClass', PyJs_hasClass_51_) + PyJs_hasClass_65_._set_name('hasClass') + var.get('_proto2').put('hasClass', PyJs_hasClass_65_) @Js - def PyJs_toNode_52_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_52_}, var) + def PyJs_toNode_66_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_66_}, var) var.registers([]) return var.get('_toNode').callprop('call', var.get(u"this"), Js('a')) - PyJs_toNode_52_._set_name('toNode') - var.get('_proto2').put('toNode', PyJs_toNode_52_) + PyJs_toNode_66_._set_name('toNode') + var.get('_proto2').put('toNode', PyJs_toNode_66_) @Js - def PyJs_toMarkup_53_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_53_}, var) + def PyJs_toMarkup_67_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_67_}, var) var.registers([]) return var.get('_toMarkup').callprop('call', var.get(u"this"), Js('a')) - PyJs_toMarkup_53_._set_name('toMarkup') - var.get('_proto2').put('toMarkup', PyJs_toMarkup_53_) + PyJs_toMarkup_67_._set_name('toMarkup') + var.get('_proto2').put('toMarkup', PyJs_toMarkup_67_) return var.get('Anchor') - PyJs_anonymous_49_._set_name('anonymous') - var.put('domTree_Anchor', PyJs_anonymous_49_()) + PyJs_anonymous_63_._set_name('anonymous') + var.put('Anchor', PyJs_anonymous_63_()) @Js - def PyJs_anonymous_54_(this, arguments, var=var): + def PyJs_anonymous_68_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) var.registers(['Img', '_proto3']) @Js def PyJsHoisted_Img_(src, alt, style, this, arguments, var=var): var = Scope({'src':src, 'alt':alt, 'style':style, 'this':this, 'arguments':arguments}, var) - var.registers(['style', 'alt', 'src']) + var.registers(['style', 'src', 'alt']) var.get(u"this").put('src', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('alt', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('classes', PyJsComma(Js(0.0), Js(None))) @@ -1177,16 +1478,16 @@ def PyJsHoisted_Img_(src, alt, style, this, arguments, var=var): pass var.put('_proto3', var.get('Img').get('prototype')) @Js - def PyJs_hasClass_55_(className, this, arguments, var=var): - var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_55_}, var) + def PyJs_hasClass_69_(className, this, arguments, var=var): + var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_69_}, var) var.registers(['className']) return var.get('utils').callprop('contains', var.get(u"this").get('classes'), var.get('className')) - PyJs_hasClass_55_._set_name('hasClass') - var.get('_proto3').put('hasClass', PyJs_hasClass_55_) + PyJs_hasClass_69_._set_name('hasClass') + var.get('_proto3').put('hasClass', PyJs_hasClass_69_) @Js - def PyJs_toNode_56_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_56_}, var) - var.registers(['node', 'style']) + def PyJs_toNode_70_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_70_}, var) + var.registers(['style', 'node']) var.put('node', var.get('document').callprop('createElement', Js('img'))) var.get('node').put('src', var.get(u"this").get('src')) var.get('node').put('alt', var.get(u"this").get('alt')) @@ -1196,12 +1497,12 @@ def PyJs_toNode_56_(this, arguments, var=var): if var.get(u"this").get('style').callprop('hasOwnProperty', var.get('style')): var.get('node').get('style').put(var.get('style'), var.get(u"this").get('style').get(var.get('style'))) return var.get('node') - PyJs_toNode_56_._set_name('toNode') - var.get('_proto3').put('toNode', PyJs_toNode_56_) + PyJs_toNode_70_._set_name('toNode') + var.get('_proto3').put('toNode', PyJs_toNode_70_) @Js - def PyJs_toMarkup_57_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_57_}, var) - var.registers(['style', 'markup', 'styles']) + def PyJs_toMarkup_71_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_71_}, var) + var.registers(['markup', 'styles', 'style']) var.put('markup', ((((Js(""), '+') return var.get('markup') - PyJs_toMarkup_57_._set_name('toMarkup') - var.get('_proto3').put('toMarkup', PyJs_toMarkup_57_) + PyJs_toMarkup_71_._set_name('toMarkup') + var.get('_proto3').put('toMarkup', PyJs_toMarkup_71_) return var.get('Img') - PyJs_anonymous_54_._set_name('anonymous') - var.put('domTree_Img', PyJs_anonymous_54_()) + PyJs_anonymous_68_._set_name('anonymous') + var.put('Img', PyJs_anonymous_68_()) var.put('iCombinations', Js({'î':Js('ı̂'),'ï':Js('ı̈'),'í':Js('ı́'),'ì':Js('ı̀')})) @Js - def PyJs_anonymous_58_(this, arguments, var=var): + def PyJs_anonymous_72_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) - var.registers(['_proto4', 'SymbolNode']) + var.registers(['SymbolNode', '_proto4']) @Js def PyJsHoisted_SymbolNode_(text, height, depth, italic, skew, width, classes, style, this, arguments, var=var): var = Scope({'text':text, 'height':height, 'depth':depth, 'italic':italic, 'skew':skew, 'width':width, 'classes':classes, 'style':style, 'this':this, 'arguments':arguments}, var) - var.registers(['depth', 'italic', 'text', 'classes', 'width', 'style', 'height', 'skew', 'script']) + var.registers(['text', 'depth', 'script', 'skew', 'italic', 'width', 'classes', 'style', 'height']) var.get(u"this").put('text', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('height', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('depth', PyJsComma(Js(0.0), Js(None))) @@ -1254,16 +1555,16 @@ def PyJsHoisted_SymbolNode_(text, height, depth, italic, skew, width, classes, s pass var.put('_proto4', var.get('SymbolNode').get('prototype')) @Js - def PyJs_hasClass_59_(className, this, arguments, var=var): - var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_59_}, var) + def PyJs_hasClass_73_(className, this, arguments, var=var): + var = Scope({'className':className, 'this':this, 'arguments':arguments, 'hasClass':PyJs_hasClass_73_}, var) var.registers(['className']) return var.get('utils').callprop('contains', var.get(u"this").get('classes'), var.get('className')) - PyJs_hasClass_59_._set_name('hasClass') - var.get('_proto4').put('hasClass', PyJs_hasClass_59_) + PyJs_hasClass_73_._set_name('hasClass') + var.get('_proto4').put('hasClass', PyJs_hasClass_73_) @Js - def PyJs_toNode_60_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_60_}, var) - var.registers(['node', 'style', 'span']) + def PyJs_toNode_74_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_74_}, var) + var.registers(['style', 'span', 'node']) var.put('node', var.get('document').callprop('createTextNode', var.get(u"this").get('text'))) var.put('span', var.get(u"null")) if (var.get(u"this").get('italic')>Js(0.0)): @@ -1282,12 +1583,12 @@ def PyJs_toNode_60_(this, arguments, var=var): return var.get('span') else: return var.get('node') - PyJs_toNode_60_._set_name('toNode') - var.get('_proto4').put('toNode', PyJs_toNode_60_) + PyJs_toNode_74_._set_name('toNode') + var.get('_proto4').put('toNode', PyJs_toNode_74_) @Js - def PyJs_toMarkup_61_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_61_}, var) - var.registers(['escaped', 'needsSpan', 'style', 'markup', 'styles']) + def PyJs_toMarkup_75_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_75_}, var) + var.registers(['needsSpan', 'styles', 'markup', 'style', 'escaped']) var.put('needsSpan', Js(False)) var.put('markup', Js(''), '+') return var.get('markup') - PyJs_toMarkup_64_._set_name('toMarkup') - var.get('_proto5').put('toMarkup', PyJs_toMarkup_64_) + PyJs_toMarkup_78_._set_name('toMarkup') + var.get('_proto5').put('toMarkup', PyJs_toMarkup_78_) return var.get('SvgNode') - PyJs_anonymous_62_._set_name('anonymous') - var.put('SvgNode', PyJs_anonymous_62_()) + PyJs_anonymous_76_._set_name('anonymous') + var.put('SvgNode', PyJs_anonymous_76_()) @Js - def PyJs_anonymous_65_(this, arguments, var=var): + def PyJs_anonymous_79_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) var.registers(['_proto6', 'PathNode']) @Js @@ -1395,35 +1696,35 @@ def PyJsHoisted_PathNode_(pathName, alternate, this, arguments, var=var): pass var.put('_proto6', var.get('PathNode').get('prototype')) @Js - def PyJs_toNode_66_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_66_}, var) - var.registers(['node', 'svgNS']) + def PyJs_toNode_80_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_80_}, var) + var.registers(['svgNS', 'node']) var.put('svgNS', Js('http://www.w3.org/2000/svg')) var.put('node', var.get('document').callprop('createElementNS', var.get('svgNS'), Js('path'))) if var.get(u"this").get('alternate'): var.get('node').callprop('setAttribute', Js('d'), var.get(u"this").get('alternate')) else: - var.get('node').callprop('setAttribute', Js('d'), var.get('svgGeometry').get('path').get(var.get(u"this").get('pathName'))) + var.get('node').callprop('setAttribute', Js('d'), var.get('path').get(var.get(u"this").get('pathName'))) return var.get('node') - PyJs_toNode_66_._set_name('toNode') - var.get('_proto6').put('toNode', PyJs_toNode_66_) + PyJs_toNode_80_._set_name('toNode') + var.get('_proto6').put('toNode', PyJs_toNode_80_) @Js - def PyJs_toMarkup_67_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_67_}, var) + def PyJs_toMarkup_81_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_81_}, var) var.registers([]) if var.get(u"this").get('alternate'): return ((Js("")) else: - return ((Js("")) - PyJs_toMarkup_67_._set_name('toMarkup') - var.get('_proto6').put('toMarkup', PyJs_toMarkup_67_) + return ((Js("")) + PyJs_toMarkup_81_._set_name('toMarkup') + var.get('_proto6').put('toMarkup', PyJs_toMarkup_81_) return var.get('PathNode') - PyJs_anonymous_65_._set_name('anonymous') - var.put('domTree_PathNode', PyJs_anonymous_65_()) + PyJs_anonymous_79_._set_name('anonymous') + var.put('PathNode', PyJs_anonymous_79_()) @Js - def PyJs_anonymous_68_(this, arguments, var=var): + def PyJs_anonymous_82_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) - var.registers(['_proto7', 'LineNode']) + var.registers(['LineNode', '_proto7']) @Js def PyJsHoisted_LineNode_(attributes, this, arguments, var=var): var = Scope({'attributes':attributes, 'this':this, 'arguments':arguments}, var) @@ -1435,9 +1736,9 @@ def PyJsHoisted_LineNode_(attributes, this, arguments, var=var): pass var.put('_proto7', var.get('LineNode').get('prototype')) @Js - def PyJs_toNode_69_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_69_}, var) - var.registers(['node', 'svgNS', 'attr']) + def PyJs_toNode_83_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_83_}, var) + var.registers(['attr', 'svgNS', 'node']) var.put('svgNS', Js('http://www.w3.org/2000/svg')) var.put('node', var.get('document').callprop('createElementNS', var.get('svgNS'), Js('line'))) for PyJsTemp in var.get(u"this").get('attributes'): @@ -1445,12 +1746,12 @@ def PyJs_toNode_69_(this, arguments, var=var): if var.get('Object').get('prototype').get('hasOwnProperty').callprop('call', var.get(u"this").get('attributes'), var.get('attr')): var.get('node').callprop('setAttribute', var.get('attr'), var.get(u"this").get('attributes').get(var.get('attr'))) return var.get('node') - PyJs_toNode_69_._set_name('toNode') - var.get('_proto7').put('toNode', PyJs_toNode_69_) + PyJs_toNode_83_._set_name('toNode') + var.get('_proto7').put('toNode', PyJs_toNode_83_) @Js - def PyJs_toMarkup_70_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_70_}, var) - var.registers(['attr', 'markup']) + def PyJs_toMarkup_84_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_84_}, var) + var.registers(['markup', 'attr']) var.put('markup', Js(''), '+') return var.get('markup') - PyJs_toMarkup_70_._set_name('toMarkup') - var.get('_proto7').put('toMarkup', PyJs_toMarkup_70_) + PyJs_toMarkup_84_._set_name('toMarkup') + var.get('_proto7').put('toMarkup', PyJs_toMarkup_84_) return var.get('LineNode') - PyJs_anonymous_68_._set_name('anonymous') - var.put('LineNode', PyJs_anonymous_68_()) + PyJs_anonymous_82_._set_name('anonymous') + var.put('LineNode', PyJs_anonymous_82_()) + pass pass pass - var.put('fontMetricsData', Js({'AMS-Regular':Js({'65':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'66':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'67':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'68':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'69':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'70':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.61111)]),'71':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'72':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'73':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.38889)]),'74':Js([Js(0.16667), Js(0.68889), Js(0.0), Js(0.0), Js(0.5)]),'75':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'76':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'77':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.94445)]),'78':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'79':Js([Js(0.16667), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'80':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.61111)]),'81':Js([Js(0.16667), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'82':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'83':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'84':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'85':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'86':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'87':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(1.0)]),'88':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'89':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'90':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'107':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'165':Js([Js(0.0), Js(0.675), Js(0.025), Js(0.0), Js(0.75)]),'174':Js([Js(0.15559), Js(0.69224), Js(0.0), Js(0.0), Js(0.94666)]),'240':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'295':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.54028)]),'710':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(2.33334)]),'732':Js([Js(0.0), Js(0.9), Js(0.0), Js(0.0), Js(2.33334)]),'770':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(2.33334)]),'771':Js([Js(0.0), Js(0.9), Js(0.0), Js(0.0), Js(2.33334)]),'989':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'1008':Js([Js(0.0), Js(0.43056), Js(0.04028), Js(0.0), Js(0.66667)]),'8245':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.275)]),'8463':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.54028)]),'8487':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'8498':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'8502':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'8503':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.44445)]),'8504':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'8513':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.63889)]),'8592':Js([(-Js(0.03598)), Js(0.46402), Js(0.0), Js(0.0), Js(0.5)]),'8594':Js([(-Js(0.03598)), Js(0.46402), Js(0.0), Js(0.0), Js(0.5)]),'8602':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8603':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8606':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.0)]),'8608':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.0)]),'8610':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.11111)]),'8611':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.11111)]),'8619':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(1.0)]),'8620':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(1.0)]),'8621':Js([(-Js(0.13313)), Js(0.37788), Js(0.0), Js(0.0), Js(1.38889)]),'8622':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8624':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.5)]),'8625':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.5)]),'8630':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(1.0)]),'8631':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(1.0)]),'8634':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8635':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8638':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.41667)]),'8639':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.41667)]),'8642':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.41667)]),'8643':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.41667)]),'8644':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(1.0)]),'8646':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(1.0)]),'8647':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(1.0)]),'8648':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.83334)]),'8649':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(1.0)]),'8650':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.83334)]),'8651':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.0)]),'8652':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.0)]),'8653':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8654':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8655':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8666':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(1.0)]),'8667':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(1.0)]),'8669':Js([(-Js(0.13313)), Js(0.37788), Js(0.0), Js(0.0), Js(1.0)]),'8672':Js([(-Js(0.064)), Js(0.437), Js(0.0), Js(0.0), Js(1.334)]),'8674':Js([(-Js(0.064)), Js(0.437), Js(0.0), Js(0.0), Js(1.334)]),'8705':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(0.5)]),'8708':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'8709':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8717':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.42917)]),'8722':Js([(-Js(0.03598)), Js(0.46402), Js(0.0), Js(0.0), Js(0.5)]),'8724':Js([Js(0.08198), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8726':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8733':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8736':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8737':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8738':Js([Js(0.03517), Js(0.52239), Js(0.0), Js(0.0), Js(0.72222)]),'8739':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.22222)]),'8740':Js([Js(0.25142), Js(0.74111), Js(0.0), Js(0.0), Js(0.27778)]),'8741':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.38889)]),'8742':Js([Js(0.25142), Js(0.74111), Js(0.0), Js(0.0), Js(0.5)]),'8756':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'8757':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'8764':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(0.77778)]),'8765':Js([(-Js(0.13313)), Js(0.37788), Js(0.0), Js(0.0), Js(0.77778)]),'8769':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(0.77778)]),'8770':Js([(-Js(0.03625)), Js(0.46375), Js(0.0), Js(0.0), Js(0.77778)]),'8774':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8776':Js([(-Js(0.01688)), Js(0.48312), Js(0.0), Js(0.0), Js(0.77778)]),'8778':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8782':Js([Js(0.06062), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8783':Js([Js(0.06062), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8785':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8786':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8787':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8790':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8791':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8796':Js([Js(0.08198), Js(0.91667), Js(0.0), Js(0.0), Js(0.77778)]),'8806':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'8807':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'8808':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'8809':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'8812':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.5)]),'8814':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8815':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8816':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8817':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8818':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8819':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8822':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8823':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8828':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8829':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8830':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8831':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8832':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8833':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8840':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8841':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8842':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8843':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8847':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8848':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8858':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8859':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8861':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8862':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8863':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8864':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8865':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8872':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.61111)]),'8873':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8874':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.88889)]),'8876':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.61111)]),'8877':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.61111)]),'8878':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'8879':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'8882':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8883':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8884':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8885':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8888':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(1.11111)]),'8890':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.55556)]),'8891':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.61111)]),'8892':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.61111)]),'8901':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.27778)]),'8903':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8905':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8906':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8907':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8908':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8909':Js([(-Js(0.03598)), Js(0.46402), Js(0.0), Js(0.0), Js(0.77778)]),'8910':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.76042)]),'8911':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.76042)]),'8912':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8913':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8914':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.66667)]),'8915':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.66667)]),'8916':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'8918':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8919':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8920':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(1.33334)]),'8921':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(1.33334)]),'8922':Js([Js(0.38569), Js(0.88569), Js(0.0), Js(0.0), Js(0.77778)]),'8923':Js([Js(0.38569), Js(0.88569), Js(0.0), Js(0.0), Js(0.77778)]),'8926':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8927':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8928':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8929':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8934':Js([Js(0.23222), Js(0.74111), Js(0.0), Js(0.0), Js(0.77778)]),'8935':Js([Js(0.23222), Js(0.74111), Js(0.0), Js(0.0), Js(0.77778)]),'8936':Js([Js(0.23222), Js(0.74111), Js(0.0), Js(0.0), Js(0.77778)]),'8937':Js([Js(0.23222), Js(0.74111), Js(0.0), Js(0.0), Js(0.77778)]),'8938':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8939':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8940':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8941':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8994':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8995':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'9416':Js([Js(0.15559), Js(0.69224), Js(0.0), Js(0.0), Js(0.90222)]),'9484':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.5)]),'9488':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.5)]),'9492':Js([Js(0.0), Js(0.37788), Js(0.0), Js(0.0), Js(0.5)]),'9496':Js([Js(0.0), Js(0.37788), Js(0.0), Js(0.0), Js(0.5)]),'9585':Js([Js(0.19444), Js(0.68889), Js(0.0), Js(0.0), Js(0.88889)]),'9586':Js([Js(0.19444), Js(0.74111), Js(0.0), Js(0.0), Js(0.88889)]),'9632':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'9633':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'9650':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.72222)]),'9651':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.72222)]),'9654':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'9660':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.72222)]),'9661':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.72222)]),'9664':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'9674':Js([Js(0.11111), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'9733':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.94445)]),'10003':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.83334)]),'10016':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.83334)]),'10731':Js([Js(0.11111), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'10846':Js([Js(0.19444), Js(0.75583), Js(0.0), Js(0.0), Js(0.61111)]),'10877':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'10878':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'10885':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'10886':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'10887':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'10888':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'10889':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10890':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10891':Js([Js(0.48256), Js(0.98256), Js(0.0), Js(0.0), Js(0.77778)]),'10892':Js([Js(0.48256), Js(0.98256), Js(0.0), Js(0.0), Js(0.77778)]),'10901':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'10902':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'10933':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10934':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10935':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10936':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10937':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10938':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10949':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'10950':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'10955':Js([Js(0.28481), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'10956':Js([Js(0.28481), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'57350':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.22222)]),'57351':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.38889)]),'57352':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'57353':Js([Js(0.0), Js(0.43056), Js(0.04028), Js(0.0), Js(0.66667)]),'57356':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57357':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57358':Js([Js(0.41951), Js(0.91951), Js(0.0), Js(0.0), Js(0.77778)]),'57359':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'57360':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'57361':Js([Js(0.41951), Js(0.91951), Js(0.0), Js(0.0), Js(0.77778)]),'57366':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57367':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57368':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57369':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57370':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'57371':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)])}),'Caligraphic-Regular':Js({'48':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'49':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'50':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'51':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'52':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'53':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'54':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'55':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'56':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'57':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'65':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.19445), Js(0.79847)]),'66':Js([Js(0.0), Js(0.68333), Js(0.03041), Js(0.13889), Js(0.65681)]),'67':Js([Js(0.0), Js(0.68333), Js(0.05834), Js(0.13889), Js(0.52653)]),'68':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.08334), Js(0.77139)]),'69':Js([Js(0.0), Js(0.68333), Js(0.08944), Js(0.11111), Js(0.52778)]),'70':Js([Js(0.0), Js(0.68333), Js(0.09931), Js(0.11111), Js(0.71875)]),'71':Js([Js(0.09722), Js(0.68333), Js(0.0593), Js(0.11111), Js(0.59487)]),'72':Js([Js(0.0), Js(0.68333), Js(0.00965), Js(0.11111), Js(0.84452)]),'73':Js([Js(0.0), Js(0.68333), Js(0.07382), Js(0.0), Js(0.54452)]),'74':Js([Js(0.09722), Js(0.68333), Js(0.18472), Js(0.16667), Js(0.67778)]),'75':Js([Js(0.0), Js(0.68333), Js(0.01445), Js(0.05556), Js(0.76195)]),'76':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.13889), Js(0.68972)]),'77':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.13889), Js(1.2009)]),'78':Js([Js(0.0), Js(0.68333), Js(0.14736), Js(0.08334), Js(0.82049)]),'79':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.11111), Js(0.79611)]),'80':Js([Js(0.0), Js(0.68333), Js(0.08222), Js(0.08334), Js(0.69556)]),'81':Js([Js(0.09722), Js(0.68333), Js(0.0), Js(0.11111), Js(0.81667)]),'82':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.08334), Js(0.8475)]),'83':Js([Js(0.0), Js(0.68333), Js(0.075), Js(0.13889), Js(0.60556)]),'84':Js([Js(0.0), Js(0.68333), Js(0.25417), Js(0.0), Js(0.54464)]),'85':Js([Js(0.0), Js(0.68333), Js(0.09931), Js(0.08334), Js(0.62583)]),'86':Js([Js(0.0), Js(0.68333), Js(0.08222), Js(0.0), Js(0.61278)]),'87':Js([Js(0.0), Js(0.68333), Js(0.08222), Js(0.08334), Js(0.98778)]),'88':Js([Js(0.0), Js(0.68333), Js(0.14643), Js(0.13889), Js(0.7133)]),'89':Js([Js(0.09722), Js(0.68333), Js(0.08222), Js(0.08334), Js(0.66834)]),'90':Js([Js(0.0), Js(0.68333), Js(0.07944), Js(0.13889), Js(0.72473)])}),'Fraktur-Regular':Js({'33':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.29574)]),'34':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.21471)]),'38':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.73786)]),'39':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.21201)]),'40':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.38865)]),'41':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.38865)]),'42':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.27764)]),'43':Js([Js(0.08319), Js(0.58283), Js(0.0), Js(0.0), Js(0.75623)]),'44':Js([Js(0.0), Js(0.10803), Js(0.0), Js(0.0), Js(0.27764)]),'45':Js([Js(0.08319), Js(0.58283), Js(0.0), Js(0.0), Js(0.75623)]),'46':Js([Js(0.0), Js(0.10803), Js(0.0), Js(0.0), Js(0.27764)]),'47':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.50181)]),'48':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'49':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'50':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'51':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'52':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'53':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'54':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.50181)]),'55':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'56':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.50181)]),'57':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'58':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.21606)]),'59':Js([Js(0.12604), Js(0.47534), Js(0.0), Js(0.0), Js(0.21606)]),'61':Js([(-Js(0.13099)), Js(0.36866), Js(0.0), Js(0.0), Js(0.75623)]),'63':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.36245)]),'65':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.7176)]),'66':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.88397)]),'67':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.61254)]),'68':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.83158)]),'69':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.66278)]),'70':Js([Js(0.12604), Js(0.69141), Js(0.0), Js(0.0), Js(0.61119)]),'71':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.78539)]),'72':Js([Js(0.06302), Js(0.69141), Js(0.0), Js(0.0), Js(0.7203)]),'73':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.55448)]),'74':Js([Js(0.12604), Js(0.69141), Js(0.0), Js(0.0), Js(0.55231)]),'75':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.66845)]),'76':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.66602)]),'77':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(1.04953)]),'78':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.83212)]),'79':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.82699)]),'80':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.82753)]),'81':Js([Js(0.03781), Js(0.69141), Js(0.0), Js(0.0), Js(0.82699)]),'82':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.82807)]),'83':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.82861)]),'84':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.66899)]),'85':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.64576)]),'86':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.83131)]),'87':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(1.04602)]),'88':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.71922)]),'89':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.83293)]),'90':Js([Js(0.12604), Js(0.69141), Js(0.0), Js(0.0), Js(0.60201)]),'91':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.27764)]),'93':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.27764)]),'94':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.49965)]),'97':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50046)]),'98':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.51315)]),'99':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.38946)]),'100':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.49857)]),'101':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.40053)]),'102':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.32626)]),'103':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.5037)]),'104':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.52126)]),'105':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.27899)]),'106':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.28088)]),'107':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.38946)]),'108':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.27953)]),'109':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.76676)]),'110':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.52666)]),'111':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.48885)]),'112':Js([Js(0.18906), Js(0.52396), Js(0.0), Js(0.0), Js(0.50046)]),'113':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.48912)]),'114':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.38919)]),'115':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.44266)]),'116':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.33301)]),'117':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.5172)]),'118':Js([Js(0.0), Js(0.52396), Js(0.0), Js(0.0), Js(0.5118)]),'119':Js([Js(0.0), Js(0.52396), Js(0.0), Js(0.0), Js(0.77351)]),'120':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.38865)]),'121':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.49884)]),'122':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.39054)]),'8216':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.21471)]),'8217':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.21471)]),'58112':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.49749)]),'58113':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.4983)]),'58114':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.33328)]),'58115':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.32923)]),'58116':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50343)]),'58117':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.33301)]),'58118':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.33409)]),'58119':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50073)])}),'Main-Bold':Js({'33':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.35)]),'34':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60278)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.95833)]),'36':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'37':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.95833)]),'38':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'39':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'40':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'41':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'42':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'43':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'44':Js([Js(0.19444), Js(0.15556), Js(0.0), Js(0.0), Js(0.31944)]),'45':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.38333)]),'46':Js([Js(0.0), Js(0.15556), Js(0.0), Js(0.0), Js(0.31944)]),'47':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'48':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'49':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'50':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'51':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'52':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'53':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'54':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'55':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'56':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'57':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'58':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.31944)]),'59':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.31944)]),'60':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'61':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(0.89444)]),'62':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'63':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.54305)]),'64':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'65':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86944)]),'66':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.81805)]),'67':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.83055)]),'68':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.88194)]),'69':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.75555)]),'70':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.72361)]),'71':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.90416)]),'72':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.9)]),'73':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.43611)]),'74':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.59444)]),'75':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.90138)]),'76':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.69166)]),'77':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(1.09166)]),'78':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.9)]),'79':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86388)]),'80':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.78611)]),'81':Js([Js(0.19444), Js(0.68611), Js(0.0), Js(0.0), Js(0.86388)]),'82':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.8625)]),'83':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.63889)]),'84':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.8)]),'85':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.88472)]),'86':Js([Js(0.0), Js(0.68611), Js(0.01597), Js(0.0), Js(0.86944)]),'87':Js([Js(0.0), Js(0.68611), Js(0.01597), Js(0.0), Js(1.18888)]),'88':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86944)]),'89':Js([Js(0.0), Js(0.68611), Js(0.02875), Js(0.0), Js(0.86944)]),'90':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.70277)]),'91':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.31944)]),'92':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'93':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.31944)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'95':Js([Js(0.31), Js(0.13444), Js(0.03194), Js(0.0), Js(0.575)]),'97':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.55902)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'99':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51111)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'101':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.52708)]),'102':Js([Js(0.0), Js(0.69444), Js(0.10903), Js(0.0), Js(0.35139)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.01597), Js(0.0), Js(0.575)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'105':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'106':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.35139)]),'107':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60694)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'109':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.95833)]),'110':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.63889)]),'111':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.63889)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.60694)]),'114':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.47361)]),'115':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.45361)]),'116':Js([Js(0.0), Js(0.63492), Js(0.0), Js(0.0), Js(0.44722)]),'117':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.63889)]),'118':Js([Js(0.0), Js(0.44444), Js(0.01597), Js(0.0), Js(0.60694)]),'119':Js([Js(0.0), Js(0.44444), Js(0.01597), Js(0.0), Js(0.83055)]),'120':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.60694)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.01597), Js(0.0), Js(0.60694)]),'122':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51111)]),'123':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'124':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.31944)]),'125':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'126':Js([Js(0.35), Js(0.34444), Js(0.0), Js(0.0), Js(0.575)]),'168':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'172':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.76666)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.86944)]),'177':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.51111)]),'198':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(1.04166)]),'215':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'216':Js([Js(0.04861), Js(0.73472), Js(0.0), Js(0.0), Js(0.89444)]),'223':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.59722)]),'230':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.83055)]),'247':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'248':Js([Js(0.09722), Js(0.54167), Js(0.0), Js(0.0), Js(0.575)]),'305':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.31944)]),'338':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(1.16944)]),'339':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.89444)]),'567':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.35139)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'711':Js([Js(0.0), Js(0.63194), Js(0.0), Js(0.0), Js(0.575)]),'713':Js([Js(0.0), Js(0.59611), Js(0.0), Js(0.0), Js(0.575)]),'714':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'728':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'729':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.86944)]),'732':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'733':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'915':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.69166)]),'916':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.95833)]),'920':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.89444)]),'923':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.80555)]),'926':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.76666)]),'928':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.9)]),'931':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.83055)]),'933':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.89444)]),'934':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.83055)]),'936':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.89444)]),'937':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.83055)]),'8211':Js([Js(0.0), Js(0.44444), Js(0.03194), Js(0.0), Js(0.575)]),'8212':Js([Js(0.0), Js(0.44444), Js(0.03194), Js(0.0), Js(1.14999)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60278)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60278)]),'8224':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.51111)]),'8225':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.51111)]),'8242':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.34444)]),'8407':Js([Js(0.0), Js(0.72444), Js(0.15486), Js(0.0), Js(0.575)]),'8463':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66759)]),'8465':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83055)]),'8467':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.47361)]),'8472':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.74027)]),'8476':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83055)]),'8501':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8592':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8593':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'8594':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8595':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'8596':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8597':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8598':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'8599':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'8600':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'8601':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'8636':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8637':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8640':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8641':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8656':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8657':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8658':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8659':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8660':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8661':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.70277)]),'8704':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'8706':Js([Js(0.0), Js(0.69444), Js(0.06389), Js(0.0), Js(0.62847)]),'8707':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'8709':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8711':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.95833)]),'8712':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.76666)]),'8715':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.76666)]),'8722':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8723':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8725':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8726':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8727':Js([(-Js(0.02778)), Js(0.47222), Js(0.0), Js(0.0), Js(0.575)]),'8728':Js([(-Js(0.02639)), Js(0.47361), Js(0.0), Js(0.0), Js(0.575)]),'8729':Js([(-Js(0.02639)), Js(0.47361), Js(0.0), Js(0.0), Js(0.575)]),'8730':Js([Js(0.18), Js(0.82), Js(0.0), Js(0.0), Js(0.95833)]),'8733':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.89444)]),'8734':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(1.14999)]),'8736':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8739':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.31944)]),'8741':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8743':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8744':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8745':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8746':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8747':Js([Js(0.19444), Js(0.69444), Js(0.12778), Js(0.0), Js(0.56875)]),'8764':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(0.89444)]),'8768':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'8771':Js([Js(0.00222), Js(0.50222), Js(0.0), Js(0.0), Js(0.89444)]),'8776':Js([Js(0.02444), Js(0.52444), Js(0.0), Js(0.0), Js(0.89444)]),'8781':Js([Js(0.00222), Js(0.50222), Js(0.0), Js(0.0), Js(0.89444)]),'8801':Js([Js(0.00222), Js(0.50222), Js(0.0), Js(0.0), Js(0.89444)]),'8804':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8805':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8810':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(1.14999)]),'8811':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(1.14999)]),'8826':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'8827':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'8834':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'8835':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'8838':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8839':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8846':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8849':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8850':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8851':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8852':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8853':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8854':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8855':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8856':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8857':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8866':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8867':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8868':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'8869':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'8900':Js([(-Js(0.02639)), Js(0.47361), Js(0.0), Js(0.0), Js(0.575)]),'8901':Js([(-Js(0.02639)), Js(0.47361), Js(0.0), Js(0.0), Js(0.31944)]),'8902':Js([(-Js(0.02778)), Js(0.47222), Js(0.0), Js(0.0), Js(0.575)]),'8968':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.51111)]),'8969':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.51111)]),'8970':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.51111)]),'8971':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.51111)]),'8994':Js([(-Js(0.13889)), Js(0.36111), Js(0.0), Js(0.0), Js(1.14999)]),'8995':Js([(-Js(0.13889)), Js(0.36111), Js(0.0), Js(0.0), Js(1.14999)]),'9651':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.02222)]),'9657':Js([(-Js(0.02778)), Js(0.47222), Js(0.0), Js(0.0), Js(0.575)]),'9661':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.02222)]),'9667':Js([(-Js(0.02778)), Js(0.47222), Js(0.0), Js(0.0), Js(0.575)]),'9711':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'9824':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'9825':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'9826':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'9827':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'9837':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'9838':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44722)]),'9839':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44722)]),'10216':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'10217':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'10815':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.9)]),'10927':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'10928':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'57376':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.0)])}),'Main-BoldItalic':Js({'33':Js([Js(0.0), Js(0.69444), Js(0.11417), Js(0.0), Js(0.38611)]),'34':Js([Js(0.0), Js(0.69444), Js(0.07939), Js(0.0), Js(0.62055)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.06833), Js(0.0), Js(0.94444)]),'37':Js([Js(0.05556), Js(0.75), Js(0.12861), Js(0.0), Js(0.94444)]),'38':Js([Js(0.0), Js(0.69444), Js(0.08528), Js(0.0), Js(0.88555)]),'39':Js([Js(0.0), Js(0.69444), Js(0.12945), Js(0.0), Js(0.35555)]),'40':Js([Js(0.25), Js(0.75), Js(0.15806), Js(0.0), Js(0.47333)]),'41':Js([Js(0.25), Js(0.75), Js(0.03306), Js(0.0), Js(0.47333)]),'42':Js([Js(0.0), Js(0.75), Js(0.14333), Js(0.0), Js(0.59111)]),'43':Js([Js(0.10333), Js(0.60333), Js(0.03306), Js(0.0), Js(0.88555)]),'44':Js([Js(0.19444), Js(0.14722), Js(0.0), Js(0.0), Js(0.35555)]),'45':Js([Js(0.0), Js(0.44444), Js(0.02611), Js(0.0), Js(0.41444)]),'46':Js([Js(0.0), Js(0.14722), Js(0.0), Js(0.0), Js(0.35555)]),'47':Js([Js(0.25), Js(0.75), Js(0.15806), Js(0.0), Js(0.59111)]),'48':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'49':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'50':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'51':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'52':Js([Js(0.19444), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'53':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'54':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'55':Js([Js(0.19444), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'56':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'57':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'58':Js([Js(0.0), Js(0.44444), Js(0.06695), Js(0.0), Js(0.35555)]),'59':Js([Js(0.19444), Js(0.44444), Js(0.06695), Js(0.0), Js(0.35555)]),'61':Js([(-Js(0.10889)), Js(0.39111), Js(0.06833), Js(0.0), Js(0.88555)]),'63':Js([Js(0.0), Js(0.69444), Js(0.11472), Js(0.0), Js(0.59111)]),'64':Js([Js(0.0), Js(0.69444), Js(0.09208), Js(0.0), Js(0.88555)]),'65':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86555)]),'66':Js([Js(0.0), Js(0.68611), Js(0.0992), Js(0.0), Js(0.81666)]),'67':Js([Js(0.0), Js(0.68611), Js(0.14208), Js(0.0), Js(0.82666)]),'68':Js([Js(0.0), Js(0.68611), Js(0.09062), Js(0.0), Js(0.87555)]),'69':Js([Js(0.0), Js(0.68611), Js(0.11431), Js(0.0), Js(0.75666)]),'70':Js([Js(0.0), Js(0.68611), Js(0.12903), Js(0.0), Js(0.72722)]),'71':Js([Js(0.0), Js(0.68611), Js(0.07347), Js(0.0), Js(0.89527)]),'72':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(0.8961)]),'73':Js([Js(0.0), Js(0.68611), Js(0.15681), Js(0.0), Js(0.47166)]),'74':Js([Js(0.0), Js(0.68611), Js(0.145), Js(0.0), Js(0.61055)]),'75':Js([Js(0.0), Js(0.68611), Js(0.14208), Js(0.0), Js(0.89499)]),'76':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.69777)]),'77':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(1.07277)]),'78':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(0.8961)]),'79':Js([Js(0.0), Js(0.68611), Js(0.09062), Js(0.0), Js(0.85499)]),'80':Js([Js(0.0), Js(0.68611), Js(0.0992), Js(0.0), Js(0.78721)]),'81':Js([Js(0.19444), Js(0.68611), Js(0.09062), Js(0.0), Js(0.85499)]),'82':Js([Js(0.0), Js(0.68611), Js(0.02559), Js(0.0), Js(0.85944)]),'83':Js([Js(0.0), Js(0.68611), Js(0.11264), Js(0.0), Js(0.64999)]),'84':Js([Js(0.0), Js(0.68611), Js(0.12903), Js(0.0), Js(0.7961)]),'85':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(0.88083)]),'86':Js([Js(0.0), Js(0.68611), Js(0.18625), Js(0.0), Js(0.86555)]),'87':Js([Js(0.0), Js(0.68611), Js(0.18625), Js(0.0), Js(1.15999)]),'88':Js([Js(0.0), Js(0.68611), Js(0.15681), Js(0.0), Js(0.86555)]),'89':Js([Js(0.0), Js(0.68611), Js(0.19803), Js(0.0), Js(0.86555)]),'90':Js([Js(0.0), Js(0.68611), Js(0.14208), Js(0.0), Js(0.70888)]),'91':Js([Js(0.25), Js(0.75), Js(0.1875), Js(0.0), Js(0.35611)]),'93':Js([Js(0.25), Js(0.75), Js(0.09972), Js(0.0), Js(0.35611)]),'94':Js([Js(0.0), Js(0.69444), Js(0.06709), Js(0.0), Js(0.59111)]),'95':Js([Js(0.31), Js(0.13444), Js(0.09811), Js(0.0), Js(0.59111)]),'97':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.59111)]),'98':Js([Js(0.0), Js(0.69444), Js(0.07861), Js(0.0), Js(0.53222)]),'99':Js([Js(0.0), Js(0.44444), Js(0.05222), Js(0.0), Js(0.53222)]),'100':Js([Js(0.0), Js(0.69444), Js(0.10861), Js(0.0), Js(0.59111)]),'101':Js([Js(0.0), Js(0.44444), Js(0.085), Js(0.0), Js(0.53222)]),'102':Js([Js(0.19444), Js(0.69444), Js(0.21778), Js(0.0), Js(0.4)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.105), Js(0.0), Js(0.53222)]),'104':Js([Js(0.0), Js(0.69444), Js(0.09426), Js(0.0), Js(0.59111)]),'105':Js([Js(0.0), Js(0.69326), Js(0.11387), Js(0.0), Js(0.35555)]),'106':Js([Js(0.19444), Js(0.69326), Js(0.1672), Js(0.0), Js(0.35555)]),'107':Js([Js(0.0), Js(0.69444), Js(0.11111), Js(0.0), Js(0.53222)]),'108':Js([Js(0.0), Js(0.69444), Js(0.10861), Js(0.0), Js(0.29666)]),'109':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.94444)]),'110':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.64999)]),'111':Js([Js(0.0), Js(0.44444), Js(0.07861), Js(0.0), Js(0.59111)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.07861), Js(0.0), Js(0.59111)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.105), Js(0.0), Js(0.53222)]),'114':Js([Js(0.0), Js(0.44444), Js(0.11111), Js(0.0), Js(0.50167)]),'115':Js([Js(0.0), Js(0.44444), Js(0.08167), Js(0.0), Js(0.48694)]),'116':Js([Js(0.0), Js(0.63492), Js(0.09639), Js(0.0), Js(0.385)]),'117':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.62055)]),'118':Js([Js(0.0), Js(0.44444), Js(0.11111), Js(0.0), Js(0.53222)]),'119':Js([Js(0.0), Js(0.44444), Js(0.11111), Js(0.0), Js(0.76777)]),'120':Js([Js(0.0), Js(0.44444), Js(0.12583), Js(0.0), Js(0.56055)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.105), Js(0.0), Js(0.56166)]),'122':Js([Js(0.0), Js(0.44444), Js(0.13889), Js(0.0), Js(0.49055)]),'126':Js([Js(0.35), Js(0.34444), Js(0.11472), Js(0.0), Js(0.59111)]),'163':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.86853)]),'168':Js([Js(0.0), Js(0.69444), Js(0.11473), Js(0.0), Js(0.59111)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.94888)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.53222)]),'198':Js([Js(0.0), Js(0.68611), Js(0.11431), Js(0.0), Js(1.02277)]),'216':Js([Js(0.04861), Js(0.73472), Js(0.09062), Js(0.0), Js(0.88555)]),'223':Js([Js(0.19444), Js(0.69444), Js(0.09736), Js(0.0), Js(0.665)]),'230':Js([Js(0.0), Js(0.44444), Js(0.085), Js(0.0), Js(0.82666)]),'248':Js([Js(0.09722), Js(0.54167), Js(0.09458), Js(0.0), Js(0.59111)]),'305':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.35555)]),'338':Js([Js(0.0), Js(0.68611), Js(0.11431), Js(0.0), Js(1.14054)]),'339':Js([Js(0.0), Js(0.44444), Js(0.085), Js(0.0), Js(0.82666)]),'567':Js([Js(0.19444), Js(0.44444), Js(0.04611), Js(0.0), Js(0.385)]),'710':Js([Js(0.0), Js(0.69444), Js(0.06709), Js(0.0), Js(0.59111)]),'711':Js([Js(0.0), Js(0.63194), Js(0.08271), Js(0.0), Js(0.59111)]),'713':Js([Js(0.0), Js(0.59444), Js(0.10444), Js(0.0), Js(0.59111)]),'714':Js([Js(0.0), Js(0.69444), Js(0.08528), Js(0.0), Js(0.59111)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.59111)]),'728':Js([Js(0.0), Js(0.69444), Js(0.10333), Js(0.0), Js(0.59111)]),'729':Js([Js(0.0), Js(0.69444), Js(0.12945), Js(0.0), Js(0.35555)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.94888)]),'732':Js([Js(0.0), Js(0.69444), Js(0.11472), Js(0.0), Js(0.59111)]),'733':Js([Js(0.0), Js(0.69444), Js(0.11472), Js(0.0), Js(0.59111)]),'915':Js([Js(0.0), Js(0.68611), Js(0.12903), Js(0.0), Js(0.69777)]),'916':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.94444)]),'920':Js([Js(0.0), Js(0.68611), Js(0.09062), Js(0.0), Js(0.88555)]),'923':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.80666)]),'926':Js([Js(0.0), Js(0.68611), Js(0.15092), Js(0.0), Js(0.76777)]),'928':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(0.8961)]),'931':Js([Js(0.0), Js(0.68611), Js(0.11431), Js(0.0), Js(0.82666)]),'933':Js([Js(0.0), Js(0.68611), Js(0.10778), Js(0.0), Js(0.88555)]),'934':Js([Js(0.0), Js(0.68611), Js(0.05632), Js(0.0), Js(0.82666)]),'936':Js([Js(0.0), Js(0.68611), Js(0.10778), Js(0.0), Js(0.88555)]),'937':Js([Js(0.0), Js(0.68611), Js(0.0992), Js(0.0), Js(0.82666)]),'8211':Js([Js(0.0), Js(0.44444), Js(0.09811), Js(0.0), Js(0.59111)]),'8212':Js([Js(0.0), Js(0.44444), Js(0.09811), Js(0.0), Js(1.18221)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.12945), Js(0.0), Js(0.35555)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.12945), Js(0.0), Js(0.35555)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.16772), Js(0.0), Js(0.62055)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.07939), Js(0.0), Js(0.62055)])}),'Main-Italic':Js({'33':Js([Js(0.0), Js(0.69444), Js(0.12417), Js(0.0), Js(0.30667)]),'34':Js([Js(0.0), Js(0.69444), Js(0.06961), Js(0.0), Js(0.51444)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.06616), Js(0.0), Js(0.81777)]),'37':Js([Js(0.05556), Js(0.75), Js(0.13639), Js(0.0), Js(0.81777)]),'38':Js([Js(0.0), Js(0.69444), Js(0.09694), Js(0.0), Js(0.76666)]),'39':Js([Js(0.0), Js(0.69444), Js(0.12417), Js(0.0), Js(0.30667)]),'40':Js([Js(0.25), Js(0.75), Js(0.16194), Js(0.0), Js(0.40889)]),'41':Js([Js(0.25), Js(0.75), Js(0.03694), Js(0.0), Js(0.40889)]),'42':Js([Js(0.0), Js(0.75), Js(0.14917), Js(0.0), Js(0.51111)]),'43':Js([Js(0.05667), Js(0.56167), Js(0.03694), Js(0.0), Js(0.76666)]),'44':Js([Js(0.19444), Js(0.10556), Js(0.0), Js(0.0), Js(0.30667)]),'45':Js([Js(0.0), Js(0.43056), Js(0.02826), Js(0.0), Js(0.35778)]),'46':Js([Js(0.0), Js(0.10556), Js(0.0), Js(0.0), Js(0.30667)]),'47':Js([Js(0.25), Js(0.75), Js(0.16194), Js(0.0), Js(0.51111)]),'48':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'49':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'50':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'51':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'52':Js([Js(0.19444), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'53':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'54':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'55':Js([Js(0.19444), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'56':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'57':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'58':Js([Js(0.0), Js(0.43056), Js(0.0582), Js(0.0), Js(0.30667)]),'59':Js([Js(0.19444), Js(0.43056), Js(0.0582), Js(0.0), Js(0.30667)]),'61':Js([(-Js(0.13313)), Js(0.36687), Js(0.06616), Js(0.0), Js(0.76666)]),'63':Js([Js(0.0), Js(0.69444), Js(0.1225), Js(0.0), Js(0.51111)]),'64':Js([Js(0.0), Js(0.69444), Js(0.09597), Js(0.0), Js(0.76666)]),'65':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.74333)]),'66':Js([Js(0.0), Js(0.68333), Js(0.10257), Js(0.0), Js(0.70389)]),'67':Js([Js(0.0), Js(0.68333), Js(0.14528), Js(0.0), Js(0.71555)]),'68':Js([Js(0.0), Js(0.68333), Js(0.09403), Js(0.0), Js(0.755)]),'69':Js([Js(0.0), Js(0.68333), Js(0.12028), Js(0.0), Js(0.67833)]),'70':Js([Js(0.0), Js(0.68333), Js(0.13305), Js(0.0), Js(0.65277)]),'71':Js([Js(0.0), Js(0.68333), Js(0.08722), Js(0.0), Js(0.77361)]),'72':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.74333)]),'73':Js([Js(0.0), Js(0.68333), Js(0.15806), Js(0.0), Js(0.38555)]),'74':Js([Js(0.0), Js(0.68333), Js(0.14028), Js(0.0), Js(0.525)]),'75':Js([Js(0.0), Js(0.68333), Js(0.14528), Js(0.0), Js(0.76888)]),'76':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.62722)]),'77':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.89666)]),'78':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.74333)]),'79':Js([Js(0.0), Js(0.68333), Js(0.09403), Js(0.0), Js(0.76666)]),'80':Js([Js(0.0), Js(0.68333), Js(0.10257), Js(0.0), Js(0.67833)]),'81':Js([Js(0.19444), Js(0.68333), Js(0.09403), Js(0.0), Js(0.76666)]),'82':Js([Js(0.0), Js(0.68333), Js(0.03868), Js(0.0), Js(0.72944)]),'83':Js([Js(0.0), Js(0.68333), Js(0.11972), Js(0.0), Js(0.56222)]),'84':Js([Js(0.0), Js(0.68333), Js(0.13305), Js(0.0), Js(0.71555)]),'85':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.74333)]),'86':Js([Js(0.0), Js(0.68333), Js(0.18361), Js(0.0), Js(0.74333)]),'87':Js([Js(0.0), Js(0.68333), Js(0.18361), Js(0.0), Js(0.99888)]),'88':Js([Js(0.0), Js(0.68333), Js(0.15806), Js(0.0), Js(0.74333)]),'89':Js([Js(0.0), Js(0.68333), Js(0.19383), Js(0.0), Js(0.74333)]),'90':Js([Js(0.0), Js(0.68333), Js(0.14528), Js(0.0), Js(0.61333)]),'91':Js([Js(0.25), Js(0.75), Js(0.1875), Js(0.0), Js(0.30667)]),'93':Js([Js(0.25), Js(0.75), Js(0.10528), Js(0.0), Js(0.30667)]),'94':Js([Js(0.0), Js(0.69444), Js(0.06646), Js(0.0), Js(0.51111)]),'95':Js([Js(0.31), Js(0.12056), Js(0.09208), Js(0.0), Js(0.51111)]),'97':Js([Js(0.0), Js(0.43056), Js(0.07671), Js(0.0), Js(0.51111)]),'98':Js([Js(0.0), Js(0.69444), Js(0.06312), Js(0.0), Js(0.46)]),'99':Js([Js(0.0), Js(0.43056), Js(0.05653), Js(0.0), Js(0.46)]),'100':Js([Js(0.0), Js(0.69444), Js(0.10333), Js(0.0), Js(0.51111)]),'101':Js([Js(0.0), Js(0.43056), Js(0.07514), Js(0.0), Js(0.46)]),'102':Js([Js(0.19444), Js(0.69444), Js(0.21194), Js(0.0), Js(0.30667)]),'103':Js([Js(0.19444), Js(0.43056), Js(0.08847), Js(0.0), Js(0.46)]),'104':Js([Js(0.0), Js(0.69444), Js(0.07671), Js(0.0), Js(0.51111)]),'105':Js([Js(0.0), Js(0.65536), Js(0.1019), Js(0.0), Js(0.30667)]),'106':Js([Js(0.19444), Js(0.65536), Js(0.14467), Js(0.0), Js(0.30667)]),'107':Js([Js(0.0), Js(0.69444), Js(0.10764), Js(0.0), Js(0.46)]),'108':Js([Js(0.0), Js(0.69444), Js(0.10333), Js(0.0), Js(0.25555)]),'109':Js([Js(0.0), Js(0.43056), Js(0.07671), Js(0.0), Js(0.81777)]),'110':Js([Js(0.0), Js(0.43056), Js(0.07671), Js(0.0), Js(0.56222)]),'111':Js([Js(0.0), Js(0.43056), Js(0.06312), Js(0.0), Js(0.51111)]),'112':Js([Js(0.19444), Js(0.43056), Js(0.06312), Js(0.0), Js(0.51111)]),'113':Js([Js(0.19444), Js(0.43056), Js(0.08847), Js(0.0), Js(0.46)]),'114':Js([Js(0.0), Js(0.43056), Js(0.10764), Js(0.0), Js(0.42166)]),'115':Js([Js(0.0), Js(0.43056), Js(0.08208), Js(0.0), Js(0.40889)]),'116':Js([Js(0.0), Js(0.61508), Js(0.09486), Js(0.0), Js(0.33222)]),'117':Js([Js(0.0), Js(0.43056), Js(0.07671), Js(0.0), Js(0.53666)]),'118':Js([Js(0.0), Js(0.43056), Js(0.10764), Js(0.0), Js(0.46)]),'119':Js([Js(0.0), Js(0.43056), Js(0.10764), Js(0.0), Js(0.66444)]),'120':Js([Js(0.0), Js(0.43056), Js(0.12042), Js(0.0), Js(0.46389)]),'121':Js([Js(0.19444), Js(0.43056), Js(0.08847), Js(0.0), Js(0.48555)]),'122':Js([Js(0.0), Js(0.43056), Js(0.12292), Js(0.0), Js(0.40889)]),'126':Js([Js(0.35), Js(0.31786), Js(0.11585), Js(0.0), Js(0.51111)]),'163':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.76909)]),'168':Js([Js(0.0), Js(0.66786), Js(0.10474), Js(0.0), Js(0.51111)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83129)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.46)]),'198':Js([Js(0.0), Js(0.68333), Js(0.12028), Js(0.0), Js(0.88277)]),'216':Js([Js(0.04861), Js(0.73194), Js(0.09403), Js(0.0), Js(0.76666)]),'223':Js([Js(0.19444), Js(0.69444), Js(0.10514), Js(0.0), Js(0.53666)]),'230':Js([Js(0.0), Js(0.43056), Js(0.07514), Js(0.0), Js(0.71555)]),'248':Js([Js(0.09722), Js(0.52778), Js(0.09194), Js(0.0), Js(0.51111)]),'305':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.02778), Js(0.32246)]),'338':Js([Js(0.0), Js(0.68333), Js(0.12028), Js(0.0), Js(0.98499)]),'339':Js([Js(0.0), Js(0.43056), Js(0.07514), Js(0.0), Js(0.71555)]),'567':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.38403)]),'710':Js([Js(0.0), Js(0.69444), Js(0.06646), Js(0.0), Js(0.51111)]),'711':Js([Js(0.0), Js(0.62847), Js(0.08295), Js(0.0), Js(0.51111)]),'713':Js([Js(0.0), Js(0.56167), Js(0.10333), Js(0.0), Js(0.51111)]),'714':Js([Js(0.0), Js(0.69444), Js(0.09694), Js(0.0), Js(0.51111)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51111)]),'728':Js([Js(0.0), Js(0.69444), Js(0.10806), Js(0.0), Js(0.51111)]),'729':Js([Js(0.0), Js(0.66786), Js(0.11752), Js(0.0), Js(0.30667)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83129)]),'732':Js([Js(0.0), Js(0.66786), Js(0.11585), Js(0.0), Js(0.51111)]),'733':Js([Js(0.0), Js(0.69444), Js(0.1225), Js(0.0), Js(0.51111)]),'915':Js([Js(0.0), Js(0.68333), Js(0.13305), Js(0.0), Js(0.62722)]),'916':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.81777)]),'920':Js([Js(0.0), Js(0.68333), Js(0.09403), Js(0.0), Js(0.76666)]),'923':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.69222)]),'926':Js([Js(0.0), Js(0.68333), Js(0.15294), Js(0.0), Js(0.66444)]),'928':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.74333)]),'931':Js([Js(0.0), Js(0.68333), Js(0.12028), Js(0.0), Js(0.71555)]),'933':Js([Js(0.0), Js(0.68333), Js(0.11111), Js(0.0), Js(0.76666)]),'934':Js([Js(0.0), Js(0.68333), Js(0.05986), Js(0.0), Js(0.71555)]),'936':Js([Js(0.0), Js(0.68333), Js(0.11111), Js(0.0), Js(0.76666)]),'937':Js([Js(0.0), Js(0.68333), Js(0.10257), Js(0.0), Js(0.71555)]),'8211':Js([Js(0.0), Js(0.43056), Js(0.09208), Js(0.0), Js(0.51111)]),'8212':Js([Js(0.0), Js(0.43056), Js(0.09208), Js(0.0), Js(1.02222)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.12417), Js(0.0), Js(0.30667)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.12417), Js(0.0), Js(0.30667)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.1685), Js(0.0), Js(0.51444)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.06961), Js(0.0), Js(0.51444)]),'8463':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.54028)])}),'Main-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'33':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'34':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.83334)]),'36':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'37':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'38':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'39':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'40':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'41':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'42':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'43':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'44':Js([Js(0.19444), Js(0.10556), Js(0.0), Js(0.0), Js(0.27778)]),'45':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.33333)]),'46':Js([Js(0.0), Js(0.10556), Js(0.0), Js(0.0), Js(0.27778)]),'47':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'48':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'49':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'50':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'51':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'52':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'53':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'54':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'55':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'56':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'57':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'58':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.27778)]),'59':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.27778)]),'60':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'61':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(0.77778)]),'62':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'63':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.47222)]),'64':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'65':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'66':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.70834)]),'67':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'68':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.76389)]),'69':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.68056)]),'70':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.65278)]),'71':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.78472)]),'72':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'73':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.36111)]),'74':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.51389)]),'75':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'76':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.625)]),'77':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.91667)]),'78':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'79':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'80':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.68056)]),'81':Js([Js(0.19444), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'82':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.73611)]),'83':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.55556)]),'84':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'85':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'86':Js([Js(0.0), Js(0.68333), Js(0.01389), Js(0.0), Js(0.75)]),'87':Js([Js(0.0), Js(0.68333), Js(0.01389), Js(0.0), Js(1.02778)]),'88':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'89':Js([Js(0.0), Js(0.68333), Js(0.025), Js(0.0), Js(0.75)]),'90':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.61111)]),'91':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.27778)]),'92':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'93':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.27778)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'95':Js([Js(0.31), Js(0.12056), Js(0.02778), Js(0.0), Js(0.5)]),'97':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'99':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.44445)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'101':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.44445)]),'102':Js([Js(0.0), Js(0.69444), Js(0.07778), Js(0.0), Js(0.30556)]),'103':Js([Js(0.19444), Js(0.43056), Js(0.01389), Js(0.0), Js(0.5)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'105':Js([Js(0.0), Js(0.66786), Js(0.0), Js(0.0), Js(0.27778)]),'106':Js([Js(0.19444), Js(0.66786), Js(0.0), Js(0.0), Js(0.30556)]),'107':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.52778)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'109':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.83334)]),'110':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.55556)]),'111':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'112':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.55556)]),'113':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.52778)]),'114':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.39167)]),'115':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.39445)]),'116':Js([Js(0.0), Js(0.61508), Js(0.0), Js(0.0), Js(0.38889)]),'117':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.55556)]),'118':Js([Js(0.0), Js(0.43056), Js(0.01389), Js(0.0), Js(0.52778)]),'119':Js([Js(0.0), Js(0.43056), Js(0.01389), Js(0.0), Js(0.72222)]),'120':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.52778)]),'121':Js([Js(0.19444), Js(0.43056), Js(0.01389), Js(0.0), Js(0.52778)]),'122':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.44445)]),'123':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'124':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.27778)]),'125':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'126':Js([Js(0.35), Js(0.31786), Js(0.0), Js(0.0), Js(0.5)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'167':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44445)]),'168':Js([Js(0.0), Js(0.66786), Js(0.0), Js(0.0), Js(0.5)]),'172':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.66667)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.75)]),'177':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'182':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.44445)]),'198':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.90278)]),'215':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'216':Js([Js(0.04861), Js(0.73194), Js(0.0), Js(0.0), Js(0.77778)]),'223':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'230':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.72222)]),'247':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'248':Js([Js(0.09722), Js(0.52778), Js(0.0), Js(0.0), Js(0.5)]),'305':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.27778)]),'338':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(1.01389)]),'339':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.77778)]),'567':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.30556)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'711':Js([Js(0.0), Js(0.62847), Js(0.0), Js(0.0), Js(0.5)]),'713':Js([Js(0.0), Js(0.56778), Js(0.0), Js(0.0), Js(0.5)]),'714':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'728':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'729':Js([Js(0.0), Js(0.66786), Js(0.0), Js(0.0), Js(0.27778)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.75)]),'732':Js([Js(0.0), Js(0.66786), Js(0.0), Js(0.0), Js(0.5)]),'733':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'915':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.625)]),'916':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.83334)]),'920':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'923':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.69445)]),'926':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.66667)]),'928':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'931':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'933':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'934':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'936':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'937':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'8211':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.0), Js(0.5)]),'8212':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.0), Js(1.0)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8224':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44445)]),'8225':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44445)]),'8230':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(1.172)]),'8242':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.275)]),'8407':Js([Js(0.0), Js(0.71444), Js(0.15382), Js(0.0), Js(0.5)]),'8463':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.54028)]),'8465':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'8467':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.11111), Js(0.41667)]),'8472':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.11111), Js(0.63646)]),'8476':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'8501':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8592':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8593':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8594':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8595':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8596':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8597':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8598':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'8599':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'8600':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'8601':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'8614':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.0)]),'8617':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.126)]),'8618':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.126)]),'8636':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8637':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8640':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8641':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8652':Js([Js(0.011), Js(0.671), Js(0.0), Js(0.0), Js(1.0)]),'8656':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8657':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8658':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8659':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8660':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8661':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.61111)]),'8704':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'8706':Js([Js(0.0), Js(0.69444), Js(0.05556), Js(0.08334), Js(0.5309)]),'8707':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'8709':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8711':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.83334)]),'8712':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.66667)]),'8715':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.66667)]),'8722':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8723':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8725':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8726':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8727':Js([(-Js(0.03472)), Js(0.46528), Js(0.0), Js(0.0), Js(0.5)]),'8728':Js([(-Js(0.05555)), Js(0.44445), Js(0.0), Js(0.0), Js(0.5)]),'8729':Js([(-Js(0.05555)), Js(0.44445), Js(0.0), Js(0.0), Js(0.5)]),'8730':Js([Js(0.2), Js(0.8), Js(0.0), Js(0.0), Js(0.83334)]),'8733':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.77778)]),'8734':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(1.0)]),'8736':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8739':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.27778)]),'8741':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8743':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8744':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8745':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8746':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8747':Js([Js(0.19444), Js(0.69444), Js(0.11111), Js(0.0), Js(0.41667)]),'8764':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(0.77778)]),'8768':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8771':Js([(-Js(0.03625)), Js(0.46375), Js(0.0), Js(0.0), Js(0.77778)]),'8773':Js([(-Js(0.022)), Js(0.589), Js(0.0), Js(0.0), Js(1.0)]),'8776':Js([(-Js(0.01688)), Js(0.48312), Js(0.0), Js(0.0), Js(0.77778)]),'8781':Js([(-Js(0.03625)), Js(0.46375), Js(0.0), Js(0.0), Js(0.77778)]),'8784':Js([(-Js(0.133)), Js(0.67), Js(0.0), Js(0.0), Js(0.778)]),'8801':Js([(-Js(0.03625)), Js(0.46375), Js(0.0), Js(0.0), Js(0.77778)]),'8804':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8805':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8810':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(1.0)]),'8811':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(1.0)]),'8826':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8827':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8834':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8835':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8838':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8839':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8846':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8849':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8850':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8851':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8852':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8853':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8854':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8855':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8856':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8857':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8866':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8867':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8868':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'8869':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'8872':Js([Js(0.249), Js(0.75), Js(0.0), Js(0.0), Js(0.867)]),'8900':Js([(-Js(0.05555)), Js(0.44445), Js(0.0), Js(0.0), Js(0.5)]),'8901':Js([(-Js(0.05555)), Js(0.44445), Js(0.0), Js(0.0), Js(0.27778)]),'8902':Js([(-Js(0.03472)), Js(0.46528), Js(0.0), Js(0.0), Js(0.5)]),'8904':Js([Js(0.005), Js(0.505), Js(0.0), Js(0.0), Js(0.9)]),'8942':Js([Js(0.03), Js(0.9), Js(0.0), Js(0.0), Js(0.278)]),'8943':Js([(-Js(0.19)), Js(0.31), Js(0.0), Js(0.0), Js(1.172)]),'8945':Js([(-Js(0.1)), Js(0.82), Js(0.0), Js(0.0), Js(1.282)]),'8968':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44445)]),'8969':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44445)]),'8970':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44445)]),'8971':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44445)]),'8994':Js([(-Js(0.14236)), Js(0.35764), Js(0.0), Js(0.0), Js(1.0)]),'8995':Js([(-Js(0.14236)), Js(0.35764), Js(0.0), Js(0.0), Js(1.0)]),'9136':Js([Js(0.244), Js(0.744), Js(0.0), Js(0.0), Js(0.412)]),'9137':Js([Js(0.244), Js(0.744), Js(0.0), Js(0.0), Js(0.412)]),'9651':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.88889)]),'9657':Js([(-Js(0.03472)), Js(0.46528), Js(0.0), Js(0.0), Js(0.5)]),'9661':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.88889)]),'9667':Js([(-Js(0.03472)), Js(0.46528), Js(0.0), Js(0.0), Js(0.5)]),'9711':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'9824':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'9825':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'9826':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'9827':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'9837':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'9838':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.38889)]),'9839':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.38889)]),'10216':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'10217':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'10222':Js([Js(0.244), Js(0.744), Js(0.0), Js(0.0), Js(0.412)]),'10223':Js([Js(0.244), Js(0.744), Js(0.0), Js(0.0), Js(0.412)]),'10229':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.609)]),'10230':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.638)]),'10231':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.859)]),'10232':Js([Js(0.024), Js(0.525), Js(0.0), Js(0.0), Js(1.609)]),'10233':Js([Js(0.024), Js(0.525), Js(0.0), Js(0.0), Js(1.638)]),'10234':Js([Js(0.024), Js(0.525), Js(0.0), Js(0.0), Js(1.858)]),'10236':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.638)]),'10815':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'10927':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'10928':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'57376':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.0)])}),'Math-BoldItalic':Js({'65':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86944)]),'66':Js([Js(0.0), Js(0.68611), Js(0.04835), Js(0.0), Js(0.8664)]),'67':Js([Js(0.0), Js(0.68611), Js(0.06979), Js(0.0), Js(0.81694)]),'68':Js([Js(0.0), Js(0.68611), Js(0.03194), Js(0.0), Js(0.93812)]),'69':Js([Js(0.0), Js(0.68611), Js(0.05451), Js(0.0), Js(0.81007)]),'70':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.68889)]),'71':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.88673)]),'72':Js([Js(0.0), Js(0.68611), Js(0.08229), Js(0.0), Js(0.98229)]),'73':Js([Js(0.0), Js(0.68611), Js(0.07778), Js(0.0), Js(0.51111)]),'74':Js([Js(0.0), Js(0.68611), Js(0.10069), Js(0.0), Js(0.63125)]),'75':Js([Js(0.0), Js(0.68611), Js(0.06979), Js(0.0), Js(0.97118)]),'76':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.75555)]),'77':Js([Js(0.0), Js(0.68611), Js(0.11424), Js(0.0), Js(1.14201)]),'78':Js([Js(0.0), Js(0.68611), Js(0.11424), Js(0.0), Js(0.95034)]),'79':Js([Js(0.0), Js(0.68611), Js(0.03194), Js(0.0), Js(0.83666)]),'80':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.72309)]),'81':Js([Js(0.19444), Js(0.68611), Js(0.0), Js(0.0), Js(0.86861)]),'82':Js([Js(0.0), Js(0.68611), Js(0.00421), Js(0.0), Js(0.87235)]),'83':Js([Js(0.0), Js(0.68611), Js(0.05382), Js(0.0), Js(0.69271)]),'84':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.63663)]),'85':Js([Js(0.0), Js(0.68611), Js(0.11424), Js(0.0), Js(0.80027)]),'86':Js([Js(0.0), Js(0.68611), Js(0.25555), Js(0.0), Js(0.67778)]),'87':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(1.09305)]),'88':Js([Js(0.0), Js(0.68611), Js(0.07778), Js(0.0), Js(0.94722)]),'89':Js([Js(0.0), Js(0.68611), Js(0.25555), Js(0.0), Js(0.67458)]),'90':Js([Js(0.0), Js(0.68611), Js(0.06979), Js(0.0), Js(0.77257)]),'97':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.63287)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.52083)]),'99':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51342)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60972)]),'101':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.55361)]),'102':Js([Js(0.19444), Js(0.69444), Js(0.11042), Js(0.0), Js(0.56806)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.03704), Js(0.0), Js(0.5449)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66759)]),'105':Js([Js(0.0), Js(0.69326), Js(0.0), Js(0.0), Js(0.4048)]),'106':Js([Js(0.19444), Js(0.69326), Js(0.0622), Js(0.0), Js(0.47083)]),'107':Js([Js(0.0), Js(0.69444), Js(0.01852), Js(0.0), Js(0.6037)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0088), Js(0.0), Js(0.34815)]),'109':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(1.0324)]),'110':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.71296)]),'111':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.58472)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.60092)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.03704), Js(0.0), Js(0.54213)]),'114':Js([Js(0.0), Js(0.44444), Js(0.03194), Js(0.0), Js(0.5287)]),'115':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.53125)]),'116':Js([Js(0.0), Js(0.63492), Js(0.0), Js(0.0), Js(0.41528)]),'117':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.68102)]),'118':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.56666)]),'119':Js([Js(0.0), Js(0.44444), Js(0.02778), Js(0.0), Js(0.83148)]),'120':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.65903)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.03704), Js(0.0), Js(0.59028)]),'122':Js([Js(0.0), Js(0.44444), Js(0.04213), Js(0.0), Js(0.55509)]),'915':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.65694)]),'916':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.95833)]),'920':Js([Js(0.0), Js(0.68611), Js(0.03194), Js(0.0), Js(0.86722)]),'923':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.80555)]),'926':Js([Js(0.0), Js(0.68611), Js(0.07458), Js(0.0), Js(0.84125)]),'928':Js([Js(0.0), Js(0.68611), Js(0.08229), Js(0.0), Js(0.98229)]),'931':Js([Js(0.0), Js(0.68611), Js(0.05451), Js(0.0), Js(0.88507)]),'933':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.67083)]),'934':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.76666)]),'936':Js([Js(0.0), Js(0.68611), Js(0.11653), Js(0.0), Js(0.71402)]),'937':Js([Js(0.0), Js(0.68611), Js(0.04835), Js(0.0), Js(0.8789)]),'945':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.76064)]),'946':Js([Js(0.19444), Js(0.69444), Js(0.03403), Js(0.0), Js(0.65972)]),'947':Js([Js(0.19444), Js(0.44444), Js(0.06389), Js(0.0), Js(0.59003)]),'948':Js([Js(0.0), Js(0.69444), Js(0.03819), Js(0.0), Js(0.52222)]),'949':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.52882)]),'950':Js([Js(0.19444), Js(0.69444), Js(0.06215), Js(0.0), Js(0.50833)]),'951':Js([Js(0.19444), Js(0.44444), Js(0.03704), Js(0.0), Js(0.6)]),'952':Js([Js(0.0), Js(0.69444), Js(0.03194), Js(0.0), Js(0.5618)]),'953':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.41204)]),'954':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.66759)]),'955':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.67083)]),'956':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.70787)]),'957':Js([Js(0.0), Js(0.44444), Js(0.06898), Js(0.0), Js(0.57685)]),'958':Js([Js(0.19444), Js(0.69444), Js(0.03021), Js(0.0), Js(0.50833)]),'959':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.58472)]),'960':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.68241)]),'961':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.6118)]),'962':Js([Js(0.09722), Js(0.44444), Js(0.07917), Js(0.0), Js(0.42361)]),'963':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.68588)]),'964':Js([Js(0.0), Js(0.44444), Js(0.13472), Js(0.0), Js(0.52083)]),'965':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.63055)]),'966':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.74722)]),'967':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.71805)]),'968':Js([Js(0.19444), Js(0.69444), Js(0.03704), Js(0.0), Js(0.75833)]),'969':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.71782)]),'977':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.69155)]),'981':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.7125)]),'982':Js([Js(0.0), Js(0.44444), Js(0.03194), Js(0.0), Js(0.975)]),'1009':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.6118)]),'1013':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.48333)])}),'Math-Italic':Js({'65':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.13889), Js(0.75)]),'66':Js([Js(0.0), Js(0.68333), Js(0.05017), Js(0.08334), Js(0.75851)]),'67':Js([Js(0.0), Js(0.68333), Js(0.07153), Js(0.08334), Js(0.71472)]),'68':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.05556), Js(0.82792)]),'69':Js([Js(0.0), Js(0.68333), Js(0.05764), Js(0.08334), Js(0.7382)]),'70':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.64306)]),'71':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.08334), Js(0.78625)]),'72':Js([Js(0.0), Js(0.68333), Js(0.08125), Js(0.05556), Js(0.83125)]),'73':Js([Js(0.0), Js(0.68333), Js(0.07847), Js(0.11111), Js(0.43958)]),'74':Js([Js(0.0), Js(0.68333), Js(0.09618), Js(0.16667), Js(0.55451)]),'75':Js([Js(0.0), Js(0.68333), Js(0.07153), Js(0.05556), Js(0.84931)]),'76':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.02778), Js(0.68056)]),'77':Js([Js(0.0), Js(0.68333), Js(0.10903), Js(0.08334), Js(0.97014)]),'78':Js([Js(0.0), Js(0.68333), Js(0.10903), Js(0.08334), Js(0.80347)]),'79':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.08334), Js(0.76278)]),'80':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.64201)]),'81':Js([Js(0.19444), Js(0.68333), Js(0.0), Js(0.08334), Js(0.79056)]),'82':Js([Js(0.0), Js(0.68333), Js(0.00773), Js(0.08334), Js(0.75929)]),'83':Js([Js(0.0), Js(0.68333), Js(0.05764), Js(0.08334), Js(0.6132)]),'84':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.58438)]),'85':Js([Js(0.0), Js(0.68333), Js(0.10903), Js(0.02778), Js(0.68278)]),'86':Js([Js(0.0), Js(0.68333), Js(0.22222), Js(0.0), Js(0.58333)]),'87':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.0), Js(0.94445)]),'88':Js([Js(0.0), Js(0.68333), Js(0.07847), Js(0.08334), Js(0.82847)]),'89':Js([Js(0.0), Js(0.68333), Js(0.22222), Js(0.0), Js(0.58056)]),'90':Js([Js(0.0), Js(0.68333), Js(0.07153), Js(0.08334), Js(0.68264)]),'97':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.52859)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.42917)]),'99':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.43276)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.16667), Js(0.52049)]),'101':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.46563)]),'102':Js([Js(0.19444), Js(0.69444), Js(0.10764), Js(0.16667), Js(0.48959)]),'103':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.02778), Js(0.47697)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.57616)]),'105':Js([Js(0.0), Js(0.65952), Js(0.0), Js(0.0), Js(0.34451)]),'106':Js([Js(0.19444), Js(0.65952), Js(0.05724), Js(0.0), Js(0.41181)]),'107':Js([Js(0.0), Js(0.69444), Js(0.03148), Js(0.0), Js(0.5206)]),'108':Js([Js(0.0), Js(0.69444), Js(0.01968), Js(0.08334), Js(0.29838)]),'109':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.87801)]),'110':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.60023)]),'111':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.48472)]),'112':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.50313)]),'113':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.08334), Js(0.44641)]),'114':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.05556), Js(0.45116)]),'115':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.46875)]),'116':Js([Js(0.0), Js(0.61508), Js(0.0), Js(0.08334), Js(0.36111)]),'117':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.02778), Js(0.57246)]),'118':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.02778), Js(0.48472)]),'119':Js([Js(0.0), Js(0.43056), Js(0.02691), Js(0.08334), Js(0.71592)]),'120':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.02778), Js(0.57153)]),'121':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.05556), Js(0.49028)]),'122':Js([Js(0.0), Js(0.43056), Js(0.04398), Js(0.05556), Js(0.46505)]),'915':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.61528)]),'916':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.16667), Js(0.83334)]),'920':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.08334), Js(0.76278)]),'923':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.16667), Js(0.69445)]),'926':Js([Js(0.0), Js(0.68333), Js(0.07569), Js(0.08334), Js(0.74236)]),'928':Js([Js(0.0), Js(0.68333), Js(0.08125), Js(0.05556), Js(0.83125)]),'931':Js([Js(0.0), Js(0.68333), Js(0.05764), Js(0.08334), Js(0.77986)]),'933':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.05556), Js(0.58333)]),'934':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.08334), Js(0.66667)]),'936':Js([Js(0.0), Js(0.68333), Js(0.11), Js(0.05556), Js(0.61222)]),'937':Js([Js(0.0), Js(0.68333), Js(0.05017), Js(0.08334), Js(0.7724)]),'945':Js([Js(0.0), Js(0.43056), Js(0.0037), Js(0.02778), Js(0.6397)]),'946':Js([Js(0.19444), Js(0.69444), Js(0.05278), Js(0.08334), Js(0.56563)]),'947':Js([Js(0.19444), Js(0.43056), Js(0.05556), Js(0.0), Js(0.51773)]),'948':Js([Js(0.0), Js(0.69444), Js(0.03785), Js(0.05556), Js(0.44444)]),'949':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.08334), Js(0.46632)]),'950':Js([Js(0.19444), Js(0.69444), Js(0.07378), Js(0.08334), Js(0.4375)]),'951':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.05556), Js(0.49653)]),'952':Js([Js(0.0), Js(0.69444), Js(0.02778), Js(0.08334), Js(0.46944)]),'953':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.35394)]),'954':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.57616)]),'955':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.58334)]),'956':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.02778), Js(0.60255)]),'957':Js([Js(0.0), Js(0.43056), Js(0.06366), Js(0.02778), Js(0.49398)]),'958':Js([Js(0.19444), Js(0.69444), Js(0.04601), Js(0.11111), Js(0.4375)]),'959':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.48472)]),'960':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.0), Js(0.57003)]),'961':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.51702)]),'962':Js([Js(0.09722), Js(0.43056), Js(0.07986), Js(0.08334), Js(0.36285)]),'963':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.0), Js(0.57141)]),'964':Js([Js(0.0), Js(0.43056), Js(0.1132), Js(0.02778), Js(0.43715)]),'965':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.02778), Js(0.54028)]),'966':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.65417)]),'967':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.05556), Js(0.62569)]),'968':Js([Js(0.19444), Js(0.69444), Js(0.03588), Js(0.11111), Js(0.65139)]),'969':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.0), Js(0.62245)]),'977':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.08334), Js(0.59144)]),'981':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.08334), Js(0.59583)]),'982':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.0), Js(0.82813)]),'1009':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.51702)]),'1013':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.4059)])}),'Math-Regular':Js({'65':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.13889), Js(0.75)]),'66':Js([Js(0.0), Js(0.68333), Js(0.05017), Js(0.08334), Js(0.75851)]),'67':Js([Js(0.0), Js(0.68333), Js(0.07153), Js(0.08334), Js(0.71472)]),'68':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.05556), Js(0.82792)]),'69':Js([Js(0.0), Js(0.68333), Js(0.05764), Js(0.08334), Js(0.7382)]),'70':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.64306)]),'71':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.08334), Js(0.78625)]),'72':Js([Js(0.0), Js(0.68333), Js(0.08125), Js(0.05556), Js(0.83125)]),'73':Js([Js(0.0), Js(0.68333), Js(0.07847), Js(0.11111), Js(0.43958)]),'74':Js([Js(0.0), Js(0.68333), Js(0.09618), Js(0.16667), Js(0.55451)]),'75':Js([Js(0.0), Js(0.68333), Js(0.07153), Js(0.05556), Js(0.84931)]),'76':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.02778), Js(0.68056)]),'77':Js([Js(0.0), Js(0.68333), Js(0.10903), Js(0.08334), Js(0.97014)]),'78':Js([Js(0.0), Js(0.68333), Js(0.10903), Js(0.08334), Js(0.80347)]),'79':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.08334), Js(0.76278)]),'80':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.64201)]),'81':Js([Js(0.19444), Js(0.68333), Js(0.0), Js(0.08334), Js(0.79056)]),'82':Js([Js(0.0), Js(0.68333), Js(0.00773), Js(0.08334), Js(0.75929)]),'83':Js([Js(0.0), Js(0.68333), Js(0.05764), Js(0.08334), Js(0.6132)]),'84':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.58438)]),'85':Js([Js(0.0), Js(0.68333), Js(0.10903), Js(0.02778), Js(0.68278)]),'86':Js([Js(0.0), Js(0.68333), Js(0.22222), Js(0.0), Js(0.58333)]),'87':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.0), Js(0.94445)]),'88':Js([Js(0.0), Js(0.68333), Js(0.07847), Js(0.08334), Js(0.82847)]),'89':Js([Js(0.0), Js(0.68333), Js(0.22222), Js(0.0), Js(0.58056)]),'90':Js([Js(0.0), Js(0.68333), Js(0.07153), Js(0.08334), Js(0.68264)]),'97':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.52859)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.42917)]),'99':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.43276)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.16667), Js(0.52049)]),'101':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.46563)]),'102':Js([Js(0.19444), Js(0.69444), Js(0.10764), Js(0.16667), Js(0.48959)]),'103':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.02778), Js(0.47697)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.57616)]),'105':Js([Js(0.0), Js(0.65952), Js(0.0), Js(0.0), Js(0.34451)]),'106':Js([Js(0.19444), Js(0.65952), Js(0.05724), Js(0.0), Js(0.41181)]),'107':Js([Js(0.0), Js(0.69444), Js(0.03148), Js(0.0), Js(0.5206)]),'108':Js([Js(0.0), Js(0.69444), Js(0.01968), Js(0.08334), Js(0.29838)]),'109':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.87801)]),'110':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.60023)]),'111':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.48472)]),'112':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.50313)]),'113':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.08334), Js(0.44641)]),'114':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.05556), Js(0.45116)]),'115':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.46875)]),'116':Js([Js(0.0), Js(0.61508), Js(0.0), Js(0.08334), Js(0.36111)]),'117':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.02778), Js(0.57246)]),'118':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.02778), Js(0.48472)]),'119':Js([Js(0.0), Js(0.43056), Js(0.02691), Js(0.08334), Js(0.71592)]),'120':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.02778), Js(0.57153)]),'121':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.05556), Js(0.49028)]),'122':Js([Js(0.0), Js(0.43056), Js(0.04398), Js(0.05556), Js(0.46505)]),'915':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.61528)]),'916':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.16667), Js(0.83334)]),'920':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.08334), Js(0.76278)]),'923':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.16667), Js(0.69445)]),'926':Js([Js(0.0), Js(0.68333), Js(0.07569), Js(0.08334), Js(0.74236)]),'928':Js([Js(0.0), Js(0.68333), Js(0.08125), Js(0.05556), Js(0.83125)]),'931':Js([Js(0.0), Js(0.68333), Js(0.05764), Js(0.08334), Js(0.77986)]),'933':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.05556), Js(0.58333)]),'934':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.08334), Js(0.66667)]),'936':Js([Js(0.0), Js(0.68333), Js(0.11), Js(0.05556), Js(0.61222)]),'937':Js([Js(0.0), Js(0.68333), Js(0.05017), Js(0.08334), Js(0.7724)]),'945':Js([Js(0.0), Js(0.43056), Js(0.0037), Js(0.02778), Js(0.6397)]),'946':Js([Js(0.19444), Js(0.69444), Js(0.05278), Js(0.08334), Js(0.56563)]),'947':Js([Js(0.19444), Js(0.43056), Js(0.05556), Js(0.0), Js(0.51773)]),'948':Js([Js(0.0), Js(0.69444), Js(0.03785), Js(0.05556), Js(0.44444)]),'949':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.08334), Js(0.46632)]),'950':Js([Js(0.19444), Js(0.69444), Js(0.07378), Js(0.08334), Js(0.4375)]),'951':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.05556), Js(0.49653)]),'952':Js([Js(0.0), Js(0.69444), Js(0.02778), Js(0.08334), Js(0.46944)]),'953':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.35394)]),'954':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.57616)]),'955':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.58334)]),'956':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.02778), Js(0.60255)]),'957':Js([Js(0.0), Js(0.43056), Js(0.06366), Js(0.02778), Js(0.49398)]),'958':Js([Js(0.19444), Js(0.69444), Js(0.04601), Js(0.11111), Js(0.4375)]),'959':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.48472)]),'960':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.0), Js(0.57003)]),'961':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.51702)]),'962':Js([Js(0.09722), Js(0.43056), Js(0.07986), Js(0.08334), Js(0.36285)]),'963':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.0), Js(0.57141)]),'964':Js([Js(0.0), Js(0.43056), Js(0.1132), Js(0.02778), Js(0.43715)]),'965':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.02778), Js(0.54028)]),'966':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.65417)]),'967':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.05556), Js(0.62569)]),'968':Js([Js(0.19444), Js(0.69444), Js(0.03588), Js(0.11111), Js(0.65139)]),'969':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.0), Js(0.62245)]),'977':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.08334), Js(0.59144)]),'981':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.08334), Js(0.59583)]),'982':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.0), Js(0.82813)]),'1009':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.51702)]),'1013':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.4059)])}),'SansSerif-Bold':Js({'33':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.36667)]),'34':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55834)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.91667)]),'36':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.55)]),'37':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(1.02912)]),'38':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83056)]),'39':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.30556)]),'40':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.42778)]),'41':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.42778)]),'42':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.55)]),'43':Js([Js(0.11667), Js(0.61667), Js(0.0), Js(0.0), Js(0.85556)]),'44':Js([Js(0.10556), Js(0.13056), Js(0.0), Js(0.0), Js(0.30556)]),'45':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.36667)]),'46':Js([Js(0.0), Js(0.13056), Js(0.0), Js(0.0), Js(0.30556)]),'47':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.55)]),'48':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'49':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'50':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'51':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'52':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'53':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'54':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'55':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'56':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'57':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'58':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.30556)]),'59':Js([Js(0.10556), Js(0.45833), Js(0.0), Js(0.0), Js(0.30556)]),'61':Js([(-Js(0.09375)), Js(0.40625), Js(0.0), Js(0.0), Js(0.85556)]),'63':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51945)]),'64':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'65':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'66':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'67':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70278)]),'68':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'69':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.64167)]),'70':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'71':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'72':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'73':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.33056)]),'74':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51945)]),'75':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.76389)]),'76':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.58056)]),'77':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.97778)]),'78':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'79':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'80':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70278)]),'81':Js([Js(0.10556), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'82':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70278)]),'83':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'84':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'85':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.76389)]),'86':Js([Js(0.0), Js(0.69444), Js(0.01528), Js(0.0), Js(0.73334)]),'87':Js([Js(0.0), Js(0.69444), Js(0.01528), Js(0.0), Js(1.03889)]),'88':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'89':Js([Js(0.0), Js(0.69444), Js(0.0275), Js(0.0), Js(0.73334)]),'90':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.67223)]),'91':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.34306)]),'93':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.34306)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'95':Js([Js(0.35), Js(0.10833), Js(0.03056), Js(0.0), Js(0.55)]),'97':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.525)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.56111)]),'99':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.48889)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.56111)]),'101':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.51111)]),'102':Js([Js(0.0), Js(0.69444), Js(0.07639), Js(0.0), Js(0.33611)]),'103':Js([Js(0.19444), Js(0.45833), Js(0.01528), Js(0.0), Js(0.55)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.56111)]),'105':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.25556)]),'106':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.28611)]),'107':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.53056)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.25556)]),'109':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.86667)]),'110':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.56111)]),'111':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.55)]),'112':Js([Js(0.19444), Js(0.45833), Js(0.0), Js(0.0), Js(0.56111)]),'113':Js([Js(0.19444), Js(0.45833), Js(0.0), Js(0.0), Js(0.56111)]),'114':Js([Js(0.0), Js(0.45833), Js(0.01528), Js(0.0), Js(0.37222)]),'115':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.42167)]),'116':Js([Js(0.0), Js(0.58929), Js(0.0), Js(0.0), Js(0.40417)]),'117':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.56111)]),'118':Js([Js(0.0), Js(0.45833), Js(0.01528), Js(0.0), Js(0.5)]),'119':Js([Js(0.0), Js(0.45833), Js(0.01528), Js(0.0), Js(0.74445)]),'120':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.5)]),'121':Js([Js(0.19444), Js(0.45833), Js(0.01528), Js(0.0), Js(0.5)]),'122':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.47639)]),'126':Js([Js(0.35), Js(0.34444), Js(0.0), Js(0.0), Js(0.55)]),'168':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'180':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.48889)]),'305':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.25556)]),'567':Js([Js(0.19444), Js(0.45833), Js(0.0), Js(0.0), Js(0.28611)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'711':Js([Js(0.0), Js(0.63542), Js(0.0), Js(0.0), Js(0.55)]),'713':Js([Js(0.0), Js(0.63778), Js(0.0), Js(0.0), Js(0.55)]),'728':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'729':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.30556)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'732':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'733':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'915':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.58056)]),'916':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.91667)]),'920':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.85556)]),'923':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.67223)]),'926':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'928':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'931':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'933':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.85556)]),'934':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'936':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.85556)]),'937':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'8211':Js([Js(0.0), Js(0.45833), Js(0.03056), Js(0.0), Js(0.55)]),'8212':Js([Js(0.0), Js(0.45833), Js(0.03056), Js(0.0), Js(1.10001)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.30556)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.30556)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55834)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55834)])}),'SansSerif-Italic':Js({'33':Js([Js(0.0), Js(0.69444), Js(0.05733), Js(0.0), Js(0.31945)]),'34':Js([Js(0.0), Js(0.69444), Js(0.00316), Js(0.0), Js(0.5)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.05087), Js(0.0), Js(0.83334)]),'36':Js([Js(0.05556), Js(0.75), Js(0.11156), Js(0.0), Js(0.5)]),'37':Js([Js(0.05556), Js(0.75), Js(0.03126), Js(0.0), Js(0.83334)]),'38':Js([Js(0.0), Js(0.69444), Js(0.03058), Js(0.0), Js(0.75834)]),'39':Js([Js(0.0), Js(0.69444), Js(0.07816), Js(0.0), Js(0.27778)]),'40':Js([Js(0.25), Js(0.75), Js(0.13164), Js(0.0), Js(0.38889)]),'41':Js([Js(0.25), Js(0.75), Js(0.02536), Js(0.0), Js(0.38889)]),'42':Js([Js(0.0), Js(0.75), Js(0.11775), Js(0.0), Js(0.5)]),'43':Js([Js(0.08333), Js(0.58333), Js(0.02536), Js(0.0), Js(0.77778)]),'44':Js([Js(0.125), Js(0.08333), Js(0.0), Js(0.0), Js(0.27778)]),'45':Js([Js(0.0), Js(0.44444), Js(0.01946), Js(0.0), Js(0.33333)]),'46':Js([Js(0.0), Js(0.08333), Js(0.0), Js(0.0), Js(0.27778)]),'47':Js([Js(0.25), Js(0.75), Js(0.13164), Js(0.0), Js(0.5)]),'48':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'49':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'50':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'51':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'52':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'53':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'54':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'55':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'56':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'57':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'58':Js([Js(0.0), Js(0.44444), Js(0.02502), Js(0.0), Js(0.27778)]),'59':Js([Js(0.125), Js(0.44444), Js(0.02502), Js(0.0), Js(0.27778)]),'61':Js([(-Js(0.13)), Js(0.37), Js(0.05087), Js(0.0), Js(0.77778)]),'63':Js([Js(0.0), Js(0.69444), Js(0.11809), Js(0.0), Js(0.47222)]),'64':Js([Js(0.0), Js(0.69444), Js(0.07555), Js(0.0), Js(0.66667)]),'65':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'66':Js([Js(0.0), Js(0.69444), Js(0.08293), Js(0.0), Js(0.66667)]),'67':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.63889)]),'68':Js([Js(0.0), Js(0.69444), Js(0.07555), Js(0.0), Js(0.72223)]),'69':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.59722)]),'70':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.56945)]),'71':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.66667)]),'72':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.70834)]),'73':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.27778)]),'74':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.47222)]),'75':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.69445)]),'76':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.54167)]),'77':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.875)]),'78':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.70834)]),'79':Js([Js(0.0), Js(0.69444), Js(0.07555), Js(0.0), Js(0.73611)]),'80':Js([Js(0.0), Js(0.69444), Js(0.08293), Js(0.0), Js(0.63889)]),'81':Js([Js(0.125), Js(0.69444), Js(0.07555), Js(0.0), Js(0.73611)]),'82':Js([Js(0.0), Js(0.69444), Js(0.08293), Js(0.0), Js(0.64584)]),'83':Js([Js(0.0), Js(0.69444), Js(0.09205), Js(0.0), Js(0.55556)]),'84':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.68056)]),'85':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.6875)]),'86':Js([Js(0.0), Js(0.69444), Js(0.1615), Js(0.0), Js(0.66667)]),'87':Js([Js(0.0), Js(0.69444), Js(0.1615), Js(0.0), Js(0.94445)]),'88':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.66667)]),'89':Js([Js(0.0), Js(0.69444), Js(0.17261), Js(0.0), Js(0.66667)]),'90':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.61111)]),'91':Js([Js(0.25), Js(0.75), Js(0.15942), Js(0.0), Js(0.28889)]),'93':Js([Js(0.25), Js(0.75), Js(0.08719), Js(0.0), Js(0.28889)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0799), Js(0.0), Js(0.5)]),'95':Js([Js(0.35), Js(0.09444), Js(0.08616), Js(0.0), Js(0.5)]),'97':Js([Js(0.0), Js(0.44444), Js(0.00981), Js(0.0), Js(0.48056)]),'98':Js([Js(0.0), Js(0.69444), Js(0.03057), Js(0.0), Js(0.51667)]),'99':Js([Js(0.0), Js(0.44444), Js(0.08336), Js(0.0), Js(0.44445)]),'100':Js([Js(0.0), Js(0.69444), Js(0.09483), Js(0.0), Js(0.51667)]),'101':Js([Js(0.0), Js(0.44444), Js(0.06778), Js(0.0), Js(0.44445)]),'102':Js([Js(0.0), Js(0.69444), Js(0.21705), Js(0.0), Js(0.30556)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.10836), Js(0.0), Js(0.5)]),'104':Js([Js(0.0), Js(0.69444), Js(0.01778), Js(0.0), Js(0.51667)]),'105':Js([Js(0.0), Js(0.67937), Js(0.09718), Js(0.0), Js(0.23889)]),'106':Js([Js(0.19444), Js(0.67937), Js(0.09162), Js(0.0), Js(0.26667)]),'107':Js([Js(0.0), Js(0.69444), Js(0.08336), Js(0.0), Js(0.48889)]),'108':Js([Js(0.0), Js(0.69444), Js(0.09483), Js(0.0), Js(0.23889)]),'109':Js([Js(0.0), Js(0.44444), Js(0.01778), Js(0.0), Js(0.79445)]),'110':Js([Js(0.0), Js(0.44444), Js(0.01778), Js(0.0), Js(0.51667)]),'111':Js([Js(0.0), Js(0.44444), Js(0.06613), Js(0.0), Js(0.5)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.0389), Js(0.0), Js(0.51667)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.04169), Js(0.0), Js(0.51667)]),'114':Js([Js(0.0), Js(0.44444), Js(0.10836), Js(0.0), Js(0.34167)]),'115':Js([Js(0.0), Js(0.44444), Js(0.0778), Js(0.0), Js(0.38333)]),'116':Js([Js(0.0), Js(0.57143), Js(0.07225), Js(0.0), Js(0.36111)]),'117':Js([Js(0.0), Js(0.44444), Js(0.04169), Js(0.0), Js(0.51667)]),'118':Js([Js(0.0), Js(0.44444), Js(0.10836), Js(0.0), Js(0.46111)]),'119':Js([Js(0.0), Js(0.44444), Js(0.10836), Js(0.0), Js(0.68334)]),'120':Js([Js(0.0), Js(0.44444), Js(0.09169), Js(0.0), Js(0.46111)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.10836), Js(0.0), Js(0.46111)]),'122':Js([Js(0.0), Js(0.44444), Js(0.08752), Js(0.0), Js(0.43472)]),'126':Js([Js(0.35), Js(0.32659), Js(0.08826), Js(0.0), Js(0.5)]),'168':Js([Js(0.0), Js(0.67937), Js(0.06385), Js(0.0), Js(0.5)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73752)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.44445)]),'305':Js([Js(0.0), Js(0.44444), Js(0.04169), Js(0.0), Js(0.23889)]),'567':Js([Js(0.19444), Js(0.44444), Js(0.04169), Js(0.0), Js(0.26667)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0799), Js(0.0), Js(0.5)]),'711':Js([Js(0.0), Js(0.63194), Js(0.08432), Js(0.0), Js(0.5)]),'713':Js([Js(0.0), Js(0.60889), Js(0.08776), Js(0.0), Js(0.5)]),'714':Js([Js(0.0), Js(0.69444), Js(0.09205), Js(0.0), Js(0.5)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'728':Js([Js(0.0), Js(0.69444), Js(0.09483), Js(0.0), Js(0.5)]),'729':Js([Js(0.0), Js(0.67937), Js(0.07774), Js(0.0), Js(0.27778)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73752)]),'732':Js([Js(0.0), Js(0.67659), Js(0.08826), Js(0.0), Js(0.5)]),'733':Js([Js(0.0), Js(0.69444), Js(0.09205), Js(0.0), Js(0.5)]),'915':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.54167)]),'916':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83334)]),'920':Js([Js(0.0), Js(0.69444), Js(0.07555), Js(0.0), Js(0.77778)]),'923':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'926':Js([Js(0.0), Js(0.69444), Js(0.12816), Js(0.0), Js(0.66667)]),'928':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.70834)]),'931':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.72222)]),'933':Js([Js(0.0), Js(0.69444), Js(0.09031), Js(0.0), Js(0.77778)]),'934':Js([Js(0.0), Js(0.69444), Js(0.04603), Js(0.0), Js(0.72222)]),'936':Js([Js(0.0), Js(0.69444), Js(0.09031), Js(0.0), Js(0.77778)]),'937':Js([Js(0.0), Js(0.69444), Js(0.08293), Js(0.0), Js(0.72222)]),'8211':Js([Js(0.0), Js(0.44444), Js(0.08616), Js(0.0), Js(0.5)]),'8212':Js([Js(0.0), Js(0.44444), Js(0.08616), Js(0.0), Js(1.0)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.07816), Js(0.0), Js(0.27778)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.07816), Js(0.0), Js(0.27778)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.14205), Js(0.0), Js(0.5)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.00316), Js(0.0), Js(0.5)])}),'SansSerif-Regular':Js({'33':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31945)]),'34':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.83334)]),'36':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'37':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'38':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.75834)]),'39':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'40':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'41':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'42':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'43':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'44':Js([Js(0.125), Js(0.08333), Js(0.0), Js(0.0), Js(0.27778)]),'45':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.33333)]),'46':Js([Js(0.0), Js(0.08333), Js(0.0), Js(0.0), Js(0.27778)]),'47':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'48':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'49':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'50':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'51':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'52':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'53':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'54':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'55':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'56':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'57':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'58':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.27778)]),'59':Js([Js(0.125), Js(0.44444), Js(0.0), Js(0.0), Js(0.27778)]),'61':Js([(-Js(0.13)), Js(0.37), Js(0.0), Js(0.0), Js(0.77778)]),'63':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.47222)]),'64':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'65':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'66':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'67':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'68':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72223)]),'69':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.59722)]),'70':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.56945)]),'71':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'72':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70834)]),'73':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'74':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.47222)]),'75':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.69445)]),'76':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.54167)]),'77':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.875)]),'78':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70834)]),'79':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73611)]),'80':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'81':Js([Js(0.125), Js(0.69444), Js(0.0), Js(0.0), Js(0.73611)]),'82':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.64584)]),'83':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'84':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.68056)]),'85':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.6875)]),'86':Js([Js(0.0), Js(0.69444), Js(0.01389), Js(0.0), Js(0.66667)]),'87':Js([Js(0.0), Js(0.69444), Js(0.01389), Js(0.0), Js(0.94445)]),'88':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'89':Js([Js(0.0), Js(0.69444), Js(0.025), Js(0.0), Js(0.66667)]),'90':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'91':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.28889)]),'93':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.28889)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'95':Js([Js(0.35), Js(0.09444), Js(0.02778), Js(0.0), Js(0.5)]),'97':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.48056)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51667)]),'99':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.44445)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51667)]),'101':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.44445)]),'102':Js([Js(0.0), Js(0.69444), Js(0.06944), Js(0.0), Js(0.30556)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.01389), Js(0.0), Js(0.5)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51667)]),'105':Js([Js(0.0), Js(0.67937), Js(0.0), Js(0.0), Js(0.23889)]),'106':Js([Js(0.19444), Js(0.67937), Js(0.0), Js(0.0), Js(0.26667)]),'107':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.48889)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.23889)]),'109':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.79445)]),'110':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51667)]),'111':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.5)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.51667)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.51667)]),'114':Js([Js(0.0), Js(0.44444), Js(0.01389), Js(0.0), Js(0.34167)]),'115':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.38333)]),'116':Js([Js(0.0), Js(0.57143), Js(0.0), Js(0.0), Js(0.36111)]),'117':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51667)]),'118':Js([Js(0.0), Js(0.44444), Js(0.01389), Js(0.0), Js(0.46111)]),'119':Js([Js(0.0), Js(0.44444), Js(0.01389), Js(0.0), Js(0.68334)]),'120':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.46111)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.01389), Js(0.0), Js(0.46111)]),'122':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.43472)]),'126':Js([Js(0.35), Js(0.32659), Js(0.0), Js(0.0), Js(0.5)]),'168':Js([Js(0.0), Js(0.67937), Js(0.0), Js(0.0), Js(0.5)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.44445)]),'305':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.23889)]),'567':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.26667)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'711':Js([Js(0.0), Js(0.63194), Js(0.0), Js(0.0), Js(0.5)]),'713':Js([Js(0.0), Js(0.60889), Js(0.0), Js(0.0), Js(0.5)]),'714':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'728':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'729':Js([Js(0.0), Js(0.67937), Js(0.0), Js(0.0), Js(0.27778)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'732':Js([Js(0.0), Js(0.67659), Js(0.0), Js(0.0), Js(0.5)]),'733':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'915':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.54167)]),'916':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83334)]),'920':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'923':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'926':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'928':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70834)]),'931':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'933':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'934':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'936':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'937':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'8211':Js([Js(0.0), Js(0.44444), Js(0.02778), Js(0.0), Js(0.5)]),'8212':Js([Js(0.0), Js(0.44444), Js(0.02778), Js(0.0), Js(1.0)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)])}),'Script-Regular':Js({'65':Js([Js(0.0), Js(0.7), Js(0.22925), Js(0.0), Js(0.80253)]),'66':Js([Js(0.0), Js(0.7), Js(0.04087), Js(0.0), Js(0.90757)]),'67':Js([Js(0.0), Js(0.7), Js(0.1689), Js(0.0), Js(0.66619)]),'68':Js([Js(0.0), Js(0.7), Js(0.09371), Js(0.0), Js(0.77443)]),'69':Js([Js(0.0), Js(0.7), Js(0.18583), Js(0.0), Js(0.56162)]),'70':Js([Js(0.0), Js(0.7), Js(0.13634), Js(0.0), Js(0.89544)]),'71':Js([Js(0.0), Js(0.7), Js(0.17322), Js(0.0), Js(0.60961)]),'72':Js([Js(0.0), Js(0.7), Js(0.29694), Js(0.0), Js(0.96919)]),'73':Js([Js(0.0), Js(0.7), Js(0.19189), Js(0.0), Js(0.80907)]),'74':Js([Js(0.27778), Js(0.7), Js(0.19189), Js(0.0), Js(1.05159)]),'75':Js([Js(0.0), Js(0.7), Js(0.31259), Js(0.0), Js(0.91364)]),'76':Js([Js(0.0), Js(0.7), Js(0.19189), Js(0.0), Js(0.87373)]),'77':Js([Js(0.0), Js(0.7), Js(0.15981), Js(0.0), Js(1.08031)]),'78':Js([Js(0.0), Js(0.7), Js(0.3525), Js(0.0), Js(0.9015)]),'79':Js([Js(0.0), Js(0.7), Js(0.08078), Js(0.0), Js(0.73787)]),'80':Js([Js(0.0), Js(0.7), Js(0.08078), Js(0.0), Js(1.01262)]),'81':Js([Js(0.0), Js(0.7), Js(0.03305), Js(0.0), Js(0.88282)]),'82':Js([Js(0.0), Js(0.7), Js(0.06259), Js(0.0), Js(0.85)]),'83':Js([Js(0.0), Js(0.7), Js(0.19189), Js(0.0), Js(0.86767)]),'84':Js([Js(0.0), Js(0.7), Js(0.29087), Js(0.0), Js(0.74697)]),'85':Js([Js(0.0), Js(0.7), Js(0.25815), Js(0.0), Js(0.79996)]),'86':Js([Js(0.0), Js(0.7), Js(0.27523), Js(0.0), Js(0.62204)]),'87':Js([Js(0.0), Js(0.7), Js(0.27523), Js(0.0), Js(0.80532)]),'88':Js([Js(0.0), Js(0.7), Js(0.26006), Js(0.0), Js(0.94445)]),'89':Js([Js(0.0), Js(0.7), Js(0.2939), Js(0.0), Js(0.70961)]),'90':Js([Js(0.0), Js(0.7), Js(0.24037), Js(0.0), Js(0.8212)])}),'Size1-Regular':Js({'40':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.45834)]),'41':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.45834)]),'47':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.57778)]),'91':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.41667)]),'92':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.57778)]),'93':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.41667)]),'123':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.58334)]),'125':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.58334)]),'710':Js([Js(0.0), Js(0.72222), Js(0.0), Js(0.0), Js(0.55556)]),'732':Js([Js(0.0), Js(0.72222), Js(0.0), Js(0.0), Js(0.55556)]),'770':Js([Js(0.0), Js(0.72222), Js(0.0), Js(0.0), Js(0.55556)]),'771':Js([Js(0.0), Js(0.72222), Js(0.0), Js(0.0), Js(0.55556)]),'8214':Js([(-Js(0.00099)), Js(0.601), Js(0.0), Js(0.0), Js(0.77778)]),'8593':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.66667)]),'8595':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.66667)]),'8657':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.77778)]),'8659':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.77778)]),'8719':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.94445)]),'8720':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.94445)]),'8721':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(1.05556)]),'8730':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(1.0)]),'8739':Js([(-Js(0.00599)), Js(0.606), Js(0.0), Js(0.0), Js(0.33333)]),'8741':Js([(-Js(0.00599)), Js(0.606), Js(0.0), Js(0.0), Js(0.55556)]),'8747':Js([Js(0.30612), Js(0.805), Js(0.19445), Js(0.0), Js(0.47222)]),'8748':Js([Js(0.306), Js(0.805), Js(0.19445), Js(0.0), Js(0.47222)]),'8749':Js([Js(0.306), Js(0.805), Js(0.19445), Js(0.0), Js(0.47222)]),'8750':Js([Js(0.30612), Js(0.805), Js(0.19445), Js(0.0), Js(0.47222)]),'8896':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'8897':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'8898':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'8899':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'8968':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'8969':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'8970':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'8971':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'9168':Js([(-Js(0.00099)), Js(0.601), Js(0.0), Js(0.0), Js(0.66667)]),'10216':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'10217':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'10752':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(1.11111)]),'10753':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(1.11111)]),'10754':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(1.11111)]),'10756':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'10758':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)])}),'Size2-Regular':Js({'40':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.59722)]),'41':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.59722)]),'47':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.81111)]),'91':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.47222)]),'92':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.81111)]),'93':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.47222)]),'123':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.66667)]),'125':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.66667)]),'710':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.0)]),'732':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.0)]),'770':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.0)]),'771':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.0)]),'8719':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.27778)]),'8720':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.27778)]),'8721':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.44445)]),'8730':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(1.0)]),'8747':Js([Js(0.86225), Js(1.36), Js(0.44445), Js(0.0), Js(0.55556)]),'8748':Js([Js(0.862), Js(1.36), Js(0.44445), Js(0.0), Js(0.55556)]),'8749':Js([Js(0.862), Js(1.36), Js(0.44445), Js(0.0), Js(0.55556)]),'8750':Js([Js(0.86225), Js(1.36), Js(0.44445), Js(0.0), Js(0.55556)]),'8896':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'8897':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'8898':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'8899':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'8968':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.52778)]),'8969':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.52778)]),'8970':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.52778)]),'8971':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.52778)]),'10216':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.61111)]),'10217':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.61111)]),'10752':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.51112)]),'10753':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.51112)]),'10754':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.51112)]),'10756':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'10758':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)])}),'Size3-Regular':Js({'40':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.73611)]),'41':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.73611)]),'47':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(1.04445)]),'91':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.52778)]),'92':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(1.04445)]),'93':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.52778)]),'123':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.75)]),'125':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.75)]),'710':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.44445)]),'732':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.44445)]),'770':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.44445)]),'771':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.44445)]),'8730':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(1.0)]),'8968':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.58334)]),'8969':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.58334)]),'8970':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.58334)]),'8971':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.58334)]),'10216':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.75)]),'10217':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.75)])}),'Size4-Regular':Js({'40':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.79167)]),'41':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.79167)]),'47':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(1.27778)]),'91':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.58334)]),'92':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(1.27778)]),'93':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.58334)]),'123':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.80556)]),'125':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.80556)]),'710':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(1.8889)]),'732':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(1.8889)]),'770':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(1.8889)]),'771':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(1.8889)]),'8730':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(1.0)]),'8968':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.63889)]),'8969':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.63889)]),'8970':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.63889)]),'8971':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.63889)]),'9115':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.875)]),'9116':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.875)]),'9117':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.875)]),'9118':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.875)]),'9119':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.875)]),'9120':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.875)]),'9121':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.66667)]),'9122':Js([(-Js(0.00099)), Js(0.601), Js(0.0), Js(0.0), Js(0.66667)]),'9123':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.66667)]),'9124':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.66667)]),'9125':Js([(-Js(0.00099)), Js(0.601), Js(0.0), Js(0.0), Js(0.66667)]),'9126':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.66667)]),'9127':Js([Js(1e-05), Js(0.9), Js(0.0), Js(0.0), Js(0.88889)]),'9128':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.88889)]),'9129':Js([Js(0.90001), Js(0.0), Js(0.0), Js(0.0), Js(0.88889)]),'9130':Js([Js(0.0), Js(0.3), Js(0.0), Js(0.0), Js(0.88889)]),'9131':Js([Js(1e-05), Js(0.9), Js(0.0), Js(0.0), Js(0.88889)]),'9132':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.88889)]),'9133':Js([Js(0.90001), Js(0.0), Js(0.0), Js(0.0), Js(0.88889)]),'9143':Js([Js(0.88502), Js(0.915), Js(0.0), Js(0.0), Js(1.05556)]),'10216':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.80556)]),'10217':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.80556)]),'57344':Js([(-Js(0.00499)), Js(0.605), Js(0.0), Js(0.0), Js(1.05556)]),'57345':Js([(-Js(0.00499)), Js(0.605), Js(0.0), Js(0.0), Js(1.05556)]),'57680':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(0.45)]),'57681':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(0.45)]),'57682':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(0.45)]),'57683':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(0.45)])}),'Typewriter-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.525)]),'33':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'34':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'35':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'36':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'37':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'38':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'39':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'40':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'41':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'42':Js([Js(0.0), Js(0.52083), Js(0.0), Js(0.0), Js(0.525)]),'43':Js([(-Js(0.08056)), Js(0.53055), Js(0.0), Js(0.0), Js(0.525)]),'44':Js([Js(0.13889), Js(0.125), Js(0.0), Js(0.0), Js(0.525)]),'45':Js([(-Js(0.08056)), Js(0.53055), Js(0.0), Js(0.0), Js(0.525)]),'46':Js([Js(0.0), Js(0.125), Js(0.0), Js(0.0), Js(0.525)]),'47':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'48':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'49':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'50':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'51':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'52':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'53':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'54':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'55':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'56':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'57':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'58':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'59':Js([Js(0.13889), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'60':Js([(-Js(0.05556)), Js(0.55556), Js(0.0), Js(0.0), Js(0.525)]),'61':Js([(-Js(0.19549)), Js(0.41562), Js(0.0), Js(0.0), Js(0.525)]),'62':Js([(-Js(0.05556)), Js(0.55556), Js(0.0), Js(0.0), Js(0.525)]),'63':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'64':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'65':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'66':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'67':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'68':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'69':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'70':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'71':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'72':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'73':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'74':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'75':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'76':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'77':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'78':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'79':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'80':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'81':Js([Js(0.13889), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'82':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'83':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'84':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'85':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'86':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'87':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'88':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'89':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'90':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'91':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'92':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'93':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'94':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'95':Js([Js(0.09514), Js(0.0), Js(0.0), Js(0.0), Js(0.525)]),'96':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'97':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'98':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'99':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'100':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'101':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'102':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'103':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'104':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'105':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'106':Js([Js(0.22222), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'107':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'108':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'109':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'110':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'111':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'112':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'113':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'114':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'115':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'116':Js([Js(0.0), Js(0.55358), Js(0.0), Js(0.0), Js(0.525)]),'117':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'118':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'119':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'120':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'121':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'122':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'123':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'124':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'125':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'126':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'127':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.525)]),'176':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'184':Js([Js(0.19445), Js(0.0), Js(0.0), Js(0.0), Js(0.525)]),'305':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'567':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'711':Js([Js(0.0), Js(0.56597), Js(0.0), Js(0.0), Js(0.525)]),'713':Js([Js(0.0), Js(0.56555), Js(0.0), Js(0.0), Js(0.525)]),'714':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'715':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'728':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'730':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'770':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'771':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'776':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'915':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'916':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'920':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'923':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'926':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'928':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'931':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'933':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'934':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'936':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'937':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'8216':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'8217':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'8242':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'9251':Js([Js(0.11111), Js(0.21944), Js(0.0), Js(0.0), Js(0.525)])})})) - var.put('sigmasAndXis', Js({'slant':Js([Js(0.25), Js(0.25), Js(0.25)]),'space':Js([Js(0.0), Js(0.0), Js(0.0)]),'stretch':Js([Js(0.0), Js(0.0), Js(0.0)]),'shrink':Js([Js(0.0), Js(0.0), Js(0.0)]),'xHeight':Js([Js(0.431), Js(0.431), Js(0.431)]),'quad':Js([Js(1.0), Js(1.171), Js(1.472)]),'extraSpace':Js([Js(0.0), Js(0.0), Js(0.0)]),'num1':Js([Js(0.677), Js(0.732), Js(0.925)]),'num2':Js([Js(0.394), Js(0.384), Js(0.387)]),'num3':Js([Js(0.444), Js(0.471), Js(0.504)]),'denom1':Js([Js(0.686), Js(0.752), Js(1.025)]),'denom2':Js([Js(0.345), Js(0.344), Js(0.532)]),'sup1':Js([Js(0.413), Js(0.503), Js(0.504)]),'sup2':Js([Js(0.363), Js(0.431), Js(0.404)]),'sup3':Js([Js(0.289), Js(0.286), Js(0.294)]),'sub1':Js([Js(0.15), Js(0.143), Js(0.2)]),'sub2':Js([Js(0.247), Js(0.286), Js(0.4)]),'supDrop':Js([Js(0.386), Js(0.353), Js(0.494)]),'subDrop':Js([Js(0.05), Js(0.071), Js(0.1)]),'delim1':Js([Js(2.39), Js(1.7), Js(1.98)]),'delim2':Js([Js(1.01), Js(1.157), Js(1.42)]),'axisHeight':Js([Js(0.25), Js(0.25), Js(0.25)]),'defaultRuleThickness':Js([Js(0.04), Js(0.049), Js(0.049)]),'bigOpSpacing1':Js([Js(0.111), Js(0.111), Js(0.111)]),'bigOpSpacing2':Js([Js(0.166), Js(0.166), Js(0.166)]),'bigOpSpacing3':Js([Js(0.2), Js(0.2), Js(0.2)]),'bigOpSpacing4':Js([Js(0.6), Js(0.611), Js(0.611)]),'bigOpSpacing5':Js([Js(0.1), Js(0.143), Js(0.143)]),'sqrtRuleThickness':Js([Js(0.04), Js(0.04), Js(0.04)]),'ptPerEm':Js([Js(10.0), Js(10.0), Js(10.0)]),'doubleRuleSep':Js([Js(0.2), Js(0.2), Js(0.2)])})) + var.put('fontMetricsData', Js({'AMS-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'65':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'66':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'67':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'68':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'69':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'70':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.61111)]),'71':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'72':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'73':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.38889)]),'74':Js([Js(0.16667), Js(0.68889), Js(0.0), Js(0.0), Js(0.5)]),'75':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'76':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'77':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.94445)]),'78':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'79':Js([Js(0.16667), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'80':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.61111)]),'81':Js([Js(0.16667), Js(0.68889), Js(0.0), Js(0.0), Js(0.77778)]),'82':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'83':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'84':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'85':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'86':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'87':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(1.0)]),'88':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'89':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'90':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'107':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'165':Js([Js(0.0), Js(0.675), Js(0.025), Js(0.0), Js(0.75)]),'174':Js([Js(0.15559), Js(0.69224), Js(0.0), Js(0.0), Js(0.94666)]),'240':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'295':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.54028)]),'710':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(2.33334)]),'732':Js([Js(0.0), Js(0.9), Js(0.0), Js(0.0), Js(2.33334)]),'770':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(2.33334)]),'771':Js([Js(0.0), Js(0.9), Js(0.0), Js(0.0), Js(2.33334)]),'989':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'1008':Js([Js(0.0), Js(0.43056), Js(0.04028), Js(0.0), Js(0.66667)]),'8245':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.275)]),'8463':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.54028)]),'8487':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'8498':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'8502':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'8503':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.44445)]),'8504':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.66667)]),'8513':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.63889)]),'8592':Js([(-Js(0.03598)), Js(0.46402), Js(0.0), Js(0.0), Js(0.5)]),'8594':Js([(-Js(0.03598)), Js(0.46402), Js(0.0), Js(0.0), Js(0.5)]),'8602':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8603':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8606':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.0)]),'8608':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.0)]),'8610':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.11111)]),'8611':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.11111)]),'8619':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(1.0)]),'8620':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(1.0)]),'8621':Js([(-Js(0.13313)), Js(0.37788), Js(0.0), Js(0.0), Js(1.38889)]),'8622':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8624':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.5)]),'8625':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.5)]),'8630':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(1.0)]),'8631':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(1.0)]),'8634':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8635':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8638':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.41667)]),'8639':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.41667)]),'8642':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.41667)]),'8643':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.41667)]),'8644':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(1.0)]),'8646':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(1.0)]),'8647':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(1.0)]),'8648':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.83334)]),'8649':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(1.0)]),'8650':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.83334)]),'8651':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.0)]),'8652':Js([Js(0.01354), Js(0.52239), Js(0.0), Js(0.0), Js(1.0)]),'8653':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8654':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8655':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8666':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(1.0)]),'8667':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(1.0)]),'8669':Js([(-Js(0.13313)), Js(0.37788), Js(0.0), Js(0.0), Js(1.0)]),'8672':Js([(-Js(0.064)), Js(0.437), Js(0.0), Js(0.0), Js(1.334)]),'8674':Js([(-Js(0.064)), Js(0.437), Js(0.0), Js(0.0), Js(1.334)]),'8705':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(0.5)]),'8708':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.55556)]),'8709':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8717':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.42917)]),'8722':Js([(-Js(0.03598)), Js(0.46402), Js(0.0), Js(0.0), Js(0.5)]),'8724':Js([Js(0.08198), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8726':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8733':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8736':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8737':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8738':Js([Js(0.03517), Js(0.52239), Js(0.0), Js(0.0), Js(0.72222)]),'8739':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.22222)]),'8740':Js([Js(0.25142), Js(0.74111), Js(0.0), Js(0.0), Js(0.27778)]),'8741':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.38889)]),'8742':Js([Js(0.25142), Js(0.74111), Js(0.0), Js(0.0), Js(0.5)]),'8756':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'8757':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'8764':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(0.77778)]),'8765':Js([(-Js(0.13313)), Js(0.37788), Js(0.0), Js(0.0), Js(0.77778)]),'8769':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(0.77778)]),'8770':Js([(-Js(0.03625)), Js(0.46375), Js(0.0), Js(0.0), Js(0.77778)]),'8774':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8776':Js([(-Js(0.01688)), Js(0.48312), Js(0.0), Js(0.0), Js(0.77778)]),'8778':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8782':Js([Js(0.06062), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8783':Js([Js(0.06062), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8785':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8786':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8787':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8790':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8791':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8796':Js([Js(0.08198), Js(0.91667), Js(0.0), Js(0.0), Js(0.77778)]),'8806':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'8807':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'8808':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'8809':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'8812':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.5)]),'8814':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8815':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8816':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8817':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8818':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8819':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8822':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8823':Js([Js(0.1808), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8828':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8829':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8830':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8831':Js([Js(0.22958), Js(0.72958), Js(0.0), Js(0.0), Js(0.77778)]),'8832':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8833':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8840':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8841':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8842':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8843':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8847':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8848':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8858':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8859':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8861':Js([Js(0.08198), Js(0.58198), Js(0.0), Js(0.0), Js(0.77778)]),'8862':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8863':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8864':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8865':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'8872':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.61111)]),'8873':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8874':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.88889)]),'8876':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.61111)]),'8877':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.61111)]),'8878':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'8879':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.72222)]),'8882':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8883':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8884':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8885':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8888':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(1.11111)]),'8890':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.55556)]),'8891':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.61111)]),'8892':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.61111)]),'8901':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.27778)]),'8903':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8905':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8906':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'8907':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8908':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8909':Js([(-Js(0.03598)), Js(0.46402), Js(0.0), Js(0.0), Js(0.77778)]),'8910':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.76042)]),'8911':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.76042)]),'8912':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8913':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'8914':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.66667)]),'8915':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.66667)]),'8916':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'8918':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8919':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8920':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(1.33334)]),'8921':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(1.33334)]),'8922':Js([Js(0.38569), Js(0.88569), Js(0.0), Js(0.0), Js(0.77778)]),'8923':Js([Js(0.38569), Js(0.88569), Js(0.0), Js(0.0), Js(0.77778)]),'8926':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8927':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'8928':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8929':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8934':Js([Js(0.23222), Js(0.74111), Js(0.0), Js(0.0), Js(0.77778)]),'8935':Js([Js(0.23222), Js(0.74111), Js(0.0), Js(0.0), Js(0.77778)]),'8936':Js([Js(0.23222), Js(0.74111), Js(0.0), Js(0.0), Js(0.77778)]),'8937':Js([Js(0.23222), Js(0.74111), Js(0.0), Js(0.0), Js(0.77778)]),'8938':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8939':Js([Js(0.20576), Js(0.70576), Js(0.0), Js(0.0), Js(0.77778)]),'8940':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8941':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'8994':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'8995':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.77778)]),'9416':Js([Js(0.15559), Js(0.69224), Js(0.0), Js(0.0), Js(0.90222)]),'9484':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.5)]),'9488':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.5)]),'9492':Js([Js(0.0), Js(0.37788), Js(0.0), Js(0.0), Js(0.5)]),'9496':Js([Js(0.0), Js(0.37788), Js(0.0), Js(0.0), Js(0.5)]),'9585':Js([Js(0.19444), Js(0.68889), Js(0.0), Js(0.0), Js(0.88889)]),'9586':Js([Js(0.19444), Js(0.74111), Js(0.0), Js(0.0), Js(0.88889)]),'9632':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'9633':Js([Js(0.0), Js(0.675), Js(0.0), Js(0.0), Js(0.77778)]),'9650':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.72222)]),'9651':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.72222)]),'9654':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'9660':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.72222)]),'9661':Js([Js(0.0), Js(0.54986), Js(0.0), Js(0.0), Js(0.72222)]),'9664':Js([Js(0.03517), Js(0.54986), Js(0.0), Js(0.0), Js(0.77778)]),'9674':Js([Js(0.11111), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'9733':Js([Js(0.19444), Js(0.69224), Js(0.0), Js(0.0), Js(0.94445)]),'10003':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.83334)]),'10016':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.83334)]),'10731':Js([Js(0.11111), Js(0.69224), Js(0.0), Js(0.0), Js(0.66667)]),'10846':Js([Js(0.19444), Js(0.75583), Js(0.0), Js(0.0), Js(0.61111)]),'10877':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'10878':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'10885':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'10886':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'10887':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'10888':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'10889':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10890':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10891':Js([Js(0.48256), Js(0.98256), Js(0.0), Js(0.0), Js(0.77778)]),'10892':Js([Js(0.48256), Js(0.98256), Js(0.0), Js(0.0), Js(0.77778)]),'10901':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'10902':Js([Js(0.13667), Js(0.63667), Js(0.0), Js(0.0), Js(0.77778)]),'10933':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10934':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10935':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10936':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10937':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10938':Js([Js(0.26167), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'10949':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'10950':Js([Js(0.25583), Js(0.75583), Js(0.0), Js(0.0), Js(0.77778)]),'10955':Js([Js(0.28481), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'10956':Js([Js(0.28481), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'57350':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.22222)]),'57351':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.38889)]),'57352':Js([Js(0.08167), Js(0.58167), Js(0.0), Js(0.0), Js(0.77778)]),'57353':Js([Js(0.0), Js(0.43056), Js(0.04028), Js(0.0), Js(0.66667)]),'57356':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57357':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57358':Js([Js(0.41951), Js(0.91951), Js(0.0), Js(0.0), Js(0.77778)]),'57359':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'57360':Js([Js(0.30274), Js(0.79383), Js(0.0), Js(0.0), Js(0.77778)]),'57361':Js([Js(0.41951), Js(0.91951), Js(0.0), Js(0.0), Js(0.77778)]),'57366':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57367':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57368':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57369':Js([Js(0.25142), Js(0.75726), Js(0.0), Js(0.0), Js(0.77778)]),'57370':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'57371':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)])}),'Caligraphic-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'65':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.19445), Js(0.79847)]),'66':Js([Js(0.0), Js(0.68333), Js(0.03041), Js(0.13889), Js(0.65681)]),'67':Js([Js(0.0), Js(0.68333), Js(0.05834), Js(0.13889), Js(0.52653)]),'68':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.08334), Js(0.77139)]),'69':Js([Js(0.0), Js(0.68333), Js(0.08944), Js(0.11111), Js(0.52778)]),'70':Js([Js(0.0), Js(0.68333), Js(0.09931), Js(0.11111), Js(0.71875)]),'71':Js([Js(0.09722), Js(0.68333), Js(0.0593), Js(0.11111), Js(0.59487)]),'72':Js([Js(0.0), Js(0.68333), Js(0.00965), Js(0.11111), Js(0.84452)]),'73':Js([Js(0.0), Js(0.68333), Js(0.07382), Js(0.0), Js(0.54452)]),'74':Js([Js(0.09722), Js(0.68333), Js(0.18472), Js(0.16667), Js(0.67778)]),'75':Js([Js(0.0), Js(0.68333), Js(0.01445), Js(0.05556), Js(0.76195)]),'76':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.13889), Js(0.68972)]),'77':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.13889), Js(1.2009)]),'78':Js([Js(0.0), Js(0.68333), Js(0.14736), Js(0.08334), Js(0.82049)]),'79':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.11111), Js(0.79611)]),'80':Js([Js(0.0), Js(0.68333), Js(0.08222), Js(0.08334), Js(0.69556)]),'81':Js([Js(0.09722), Js(0.68333), Js(0.0), Js(0.11111), Js(0.81667)]),'82':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.08334), Js(0.8475)]),'83':Js([Js(0.0), Js(0.68333), Js(0.075), Js(0.13889), Js(0.60556)]),'84':Js([Js(0.0), Js(0.68333), Js(0.25417), Js(0.0), Js(0.54464)]),'85':Js([Js(0.0), Js(0.68333), Js(0.09931), Js(0.08334), Js(0.62583)]),'86':Js([Js(0.0), Js(0.68333), Js(0.08222), Js(0.0), Js(0.61278)]),'87':Js([Js(0.0), Js(0.68333), Js(0.08222), Js(0.08334), Js(0.98778)]),'88':Js([Js(0.0), Js(0.68333), Js(0.14643), Js(0.13889), Js(0.7133)]),'89':Js([Js(0.09722), Js(0.68333), Js(0.08222), Js(0.08334), Js(0.66834)]),'90':Js([Js(0.0), Js(0.68333), Js(0.07944), Js(0.13889), Js(0.72473)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)])}),'Fraktur-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'33':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.29574)]),'34':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.21471)]),'38':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.73786)]),'39':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.21201)]),'40':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.38865)]),'41':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.38865)]),'42':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.27764)]),'43':Js([Js(0.08319), Js(0.58283), Js(0.0), Js(0.0), Js(0.75623)]),'44':Js([Js(0.0), Js(0.10803), Js(0.0), Js(0.0), Js(0.27764)]),'45':Js([Js(0.08319), Js(0.58283), Js(0.0), Js(0.0), Js(0.75623)]),'46':Js([Js(0.0), Js(0.10803), Js(0.0), Js(0.0), Js(0.27764)]),'47':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.50181)]),'48':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'49':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'50':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'51':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'52':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'53':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'54':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.50181)]),'55':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'56':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.50181)]),'57':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50181)]),'58':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.21606)]),'59':Js([Js(0.12604), Js(0.47534), Js(0.0), Js(0.0), Js(0.21606)]),'61':Js([(-Js(0.13099)), Js(0.36866), Js(0.0), Js(0.0), Js(0.75623)]),'63':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.36245)]),'65':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.7176)]),'66':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.88397)]),'67':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.61254)]),'68':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.83158)]),'69':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.66278)]),'70':Js([Js(0.12604), Js(0.69141), Js(0.0), Js(0.0), Js(0.61119)]),'71':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.78539)]),'72':Js([Js(0.06302), Js(0.69141), Js(0.0), Js(0.0), Js(0.7203)]),'73':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.55448)]),'74':Js([Js(0.12604), Js(0.69141), Js(0.0), Js(0.0), Js(0.55231)]),'75':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.66845)]),'76':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.66602)]),'77':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(1.04953)]),'78':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.83212)]),'79':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.82699)]),'80':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.82753)]),'81':Js([Js(0.03781), Js(0.69141), Js(0.0), Js(0.0), Js(0.82699)]),'82':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.82807)]),'83':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.82861)]),'84':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.66899)]),'85':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.64576)]),'86':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.83131)]),'87':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(1.04602)]),'88':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.71922)]),'89':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.83293)]),'90':Js([Js(0.12604), Js(0.69141), Js(0.0), Js(0.0), Js(0.60201)]),'91':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.27764)]),'93':Js([Js(0.24982), Js(0.74947), Js(0.0), Js(0.0), Js(0.27764)]),'94':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.49965)]),'97':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50046)]),'98':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.51315)]),'99':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.38946)]),'100':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.49857)]),'101':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.40053)]),'102':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.32626)]),'103':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.5037)]),'104':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.52126)]),'105':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.27899)]),'106':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.28088)]),'107':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.38946)]),'108':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.27953)]),'109':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.76676)]),'110':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.52666)]),'111':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.48885)]),'112':Js([Js(0.18906), Js(0.52396), Js(0.0), Js(0.0), Js(0.50046)]),'113':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.48912)]),'114':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.38919)]),'115':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.44266)]),'116':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.33301)]),'117':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.5172)]),'118':Js([Js(0.0), Js(0.52396), Js(0.0), Js(0.0), Js(0.5118)]),'119':Js([Js(0.0), Js(0.52396), Js(0.0), Js(0.0), Js(0.77351)]),'120':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.38865)]),'121':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.49884)]),'122':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.39054)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'8216':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.21471)]),'8217':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.21471)]),'58112':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.49749)]),'58113':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.4983)]),'58114':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.33328)]),'58115':Js([Js(0.18906), Js(0.69141), Js(0.0), Js(0.0), Js(0.32923)]),'58116':Js([Js(0.18906), Js(0.47534), Js(0.0), Js(0.0), Js(0.50343)]),'58117':Js([Js(0.0), Js(0.69141), Js(0.0), Js(0.0), Js(0.33301)]),'58118':Js([Js(0.0), Js(0.62119), Js(0.0), Js(0.0), Js(0.33409)]),'58119':Js([Js(0.0), Js(0.47534), Js(0.0), Js(0.0), Js(0.50073)])}),'Main-Bold':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'33':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.35)]),'34':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60278)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.95833)]),'36':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'37':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.95833)]),'38':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'39':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'40':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'41':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'42':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'43':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'44':Js([Js(0.19444), Js(0.15556), Js(0.0), Js(0.0), Js(0.31944)]),'45':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.38333)]),'46':Js([Js(0.0), Js(0.15556), Js(0.0), Js(0.0), Js(0.31944)]),'47':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'48':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'49':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'50':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'51':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'52':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'53':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'54':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'55':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'56':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'57':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'58':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.31944)]),'59':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.31944)]),'60':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'61':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(0.89444)]),'62':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'63':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.54305)]),'64':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'65':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86944)]),'66':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.81805)]),'67':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.83055)]),'68':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.88194)]),'69':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.75555)]),'70':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.72361)]),'71':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.90416)]),'72':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.9)]),'73':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.43611)]),'74':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.59444)]),'75':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.90138)]),'76':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.69166)]),'77':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(1.09166)]),'78':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.9)]),'79':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86388)]),'80':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.78611)]),'81':Js([Js(0.19444), Js(0.68611), Js(0.0), Js(0.0), Js(0.86388)]),'82':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.8625)]),'83':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.63889)]),'84':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.8)]),'85':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.88472)]),'86':Js([Js(0.0), Js(0.68611), Js(0.01597), Js(0.0), Js(0.86944)]),'87':Js([Js(0.0), Js(0.68611), Js(0.01597), Js(0.0), Js(1.18888)]),'88':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86944)]),'89':Js([Js(0.0), Js(0.68611), Js(0.02875), Js(0.0), Js(0.86944)]),'90':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.70277)]),'91':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.31944)]),'92':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'93':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.31944)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'95':Js([Js(0.31), Js(0.13444), Js(0.03194), Js(0.0), Js(0.575)]),'97':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.55902)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'99':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51111)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'101':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.52708)]),'102':Js([Js(0.0), Js(0.69444), Js(0.10903), Js(0.0), Js(0.35139)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.01597), Js(0.0), Js(0.575)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'105':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'106':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.35139)]),'107':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60694)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'109':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.95833)]),'110':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.63889)]),'111':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.63889)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.60694)]),'114':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.47361)]),'115':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.45361)]),'116':Js([Js(0.0), Js(0.63492), Js(0.0), Js(0.0), Js(0.44722)]),'117':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.63889)]),'118':Js([Js(0.0), Js(0.44444), Js(0.01597), Js(0.0), Js(0.60694)]),'119':Js([Js(0.0), Js(0.44444), Js(0.01597), Js(0.0), Js(0.83055)]),'120':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.60694)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.01597), Js(0.0), Js(0.60694)]),'122':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51111)]),'123':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'124':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.31944)]),'125':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'126':Js([Js(0.35), Js(0.34444), Js(0.0), Js(0.0), Js(0.575)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'163':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.86853)]),'168':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'172':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.76666)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.86944)]),'177':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.51111)]),'198':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(1.04166)]),'215':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'216':Js([Js(0.04861), Js(0.73472), Js(0.0), Js(0.0), Js(0.89444)]),'223':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.59722)]),'230':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.83055)]),'247':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'248':Js([Js(0.09722), Js(0.54167), Js(0.0), Js(0.0), Js(0.575)]),'305':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.31944)]),'338':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(1.16944)]),'339':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.89444)]),'567':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.35139)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'711':Js([Js(0.0), Js(0.63194), Js(0.0), Js(0.0), Js(0.575)]),'713':Js([Js(0.0), Js(0.59611), Js(0.0), Js(0.0), Js(0.575)]),'714':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'728':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'729':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.86944)]),'732':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'733':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'915':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.69166)]),'916':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.95833)]),'920':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.89444)]),'923':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.80555)]),'926':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.76666)]),'928':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.9)]),'931':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.83055)]),'933':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.89444)]),'934':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.83055)]),'936':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.89444)]),'937':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.83055)]),'8211':Js([Js(0.0), Js(0.44444), Js(0.03194), Js(0.0), Js(0.575)]),'8212':Js([Js(0.0), Js(0.44444), Js(0.03194), Js(0.0), Js(1.14999)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60278)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60278)]),'8224':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.51111)]),'8225':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.51111)]),'8242':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.34444)]),'8407':Js([Js(0.0), Js(0.72444), Js(0.15486), Js(0.0), Js(0.575)]),'8463':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66759)]),'8465':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83055)]),'8467':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.47361)]),'8472':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.74027)]),'8476':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83055)]),'8501':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8592':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8593':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'8594':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8595':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.575)]),'8596':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8597':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8598':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'8599':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'8600':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'8601':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'8636':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8637':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8640':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8641':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8656':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8657':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8658':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8659':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8660':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(1.14999)]),'8661':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.70277)]),'8704':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'8706':Js([Js(0.0), Js(0.69444), Js(0.06389), Js(0.0), Js(0.62847)]),'8707':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'8709':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8711':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.95833)]),'8712':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.76666)]),'8715':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.76666)]),'8722':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8723':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8725':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8726':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8727':Js([(-Js(0.02778)), Js(0.47222), Js(0.0), Js(0.0), Js(0.575)]),'8728':Js([(-Js(0.02639)), Js(0.47361), Js(0.0), Js(0.0), Js(0.575)]),'8729':Js([(-Js(0.02639)), Js(0.47361), Js(0.0), Js(0.0), Js(0.575)]),'8730':Js([Js(0.18), Js(0.82), Js(0.0), Js(0.0), Js(0.95833)]),'8733':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.89444)]),'8734':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(1.14999)]),'8736':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8739':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.31944)]),'8741':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.575)]),'8743':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8744':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8745':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8746':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8747':Js([Js(0.19444), Js(0.69444), Js(0.12778), Js(0.0), Js(0.56875)]),'8764':Js([(-Js(0.10889)), Js(0.39111), Js(0.0), Js(0.0), Js(0.89444)]),'8768':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.31944)]),'8771':Js([Js(0.00222), Js(0.50222), Js(0.0), Js(0.0), Js(0.89444)]),'8776':Js([Js(0.02444), Js(0.52444), Js(0.0), Js(0.0), Js(0.89444)]),'8781':Js([Js(0.00222), Js(0.50222), Js(0.0), Js(0.0), Js(0.89444)]),'8801':Js([Js(0.00222), Js(0.50222), Js(0.0), Js(0.0), Js(0.89444)]),'8804':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8805':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8810':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(1.14999)]),'8811':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(1.14999)]),'8826':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'8827':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'8834':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'8835':Js([Js(0.08556), Js(0.58556), Js(0.0), Js(0.0), Js(0.89444)]),'8838':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8839':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8846':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8849':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8850':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'8851':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8852':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.76666)]),'8853':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8854':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8855':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8856':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8857':Js([Js(0.13333), Js(0.63333), Js(0.0), Js(0.0), Js(0.89444)]),'8866':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8867':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70277)]),'8868':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'8869':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'8900':Js([(-Js(0.02639)), Js(0.47361), Js(0.0), Js(0.0), Js(0.575)]),'8901':Js([(-Js(0.02639)), Js(0.47361), Js(0.0), Js(0.0), Js(0.31944)]),'8902':Js([(-Js(0.02778)), Js(0.47222), Js(0.0), Js(0.0), Js(0.575)]),'8968':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.51111)]),'8969':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.51111)]),'8970':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.51111)]),'8971':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.51111)]),'8994':Js([(-Js(0.13889)), Js(0.36111), Js(0.0), Js(0.0), Js(1.14999)]),'8995':Js([(-Js(0.13889)), Js(0.36111), Js(0.0), Js(0.0), Js(1.14999)]),'9651':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.02222)]),'9657':Js([(-Js(0.02778)), Js(0.47222), Js(0.0), Js(0.0), Js(0.575)]),'9661':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.02222)]),'9667':Js([(-Js(0.02778)), Js(0.47222), Js(0.0), Js(0.0), Js(0.575)]),'9711':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.14999)]),'9824':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'9825':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'9826':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'9827':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.89444)]),'9837':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'9838':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44722)]),'9839':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44722)]),'10216':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'10217':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44722)]),'10815':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.9)]),'10927':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'10928':Js([Js(0.19667), Js(0.69667), Js(0.0), Js(0.0), Js(0.89444)]),'57376':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.0)])}),'Main-BoldItalic':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'33':Js([Js(0.0), Js(0.69444), Js(0.11417), Js(0.0), Js(0.38611)]),'34':Js([Js(0.0), Js(0.69444), Js(0.07939), Js(0.0), Js(0.62055)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.06833), Js(0.0), Js(0.94444)]),'37':Js([Js(0.05556), Js(0.75), Js(0.12861), Js(0.0), Js(0.94444)]),'38':Js([Js(0.0), Js(0.69444), Js(0.08528), Js(0.0), Js(0.88555)]),'39':Js([Js(0.0), Js(0.69444), Js(0.12945), Js(0.0), Js(0.35555)]),'40':Js([Js(0.25), Js(0.75), Js(0.15806), Js(0.0), Js(0.47333)]),'41':Js([Js(0.25), Js(0.75), Js(0.03306), Js(0.0), Js(0.47333)]),'42':Js([Js(0.0), Js(0.75), Js(0.14333), Js(0.0), Js(0.59111)]),'43':Js([Js(0.10333), Js(0.60333), Js(0.03306), Js(0.0), Js(0.88555)]),'44':Js([Js(0.19444), Js(0.14722), Js(0.0), Js(0.0), Js(0.35555)]),'45':Js([Js(0.0), Js(0.44444), Js(0.02611), Js(0.0), Js(0.41444)]),'46':Js([Js(0.0), Js(0.14722), Js(0.0), Js(0.0), Js(0.35555)]),'47':Js([Js(0.25), Js(0.75), Js(0.15806), Js(0.0), Js(0.59111)]),'48':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'49':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'50':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'51':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'52':Js([Js(0.19444), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'53':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'54':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'55':Js([Js(0.19444), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'56':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'57':Js([Js(0.0), Js(0.64444), Js(0.13167), Js(0.0), Js(0.59111)]),'58':Js([Js(0.0), Js(0.44444), Js(0.06695), Js(0.0), Js(0.35555)]),'59':Js([Js(0.19444), Js(0.44444), Js(0.06695), Js(0.0), Js(0.35555)]),'61':Js([(-Js(0.10889)), Js(0.39111), Js(0.06833), Js(0.0), Js(0.88555)]),'63':Js([Js(0.0), Js(0.69444), Js(0.11472), Js(0.0), Js(0.59111)]),'64':Js([Js(0.0), Js(0.69444), Js(0.09208), Js(0.0), Js(0.88555)]),'65':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86555)]),'66':Js([Js(0.0), Js(0.68611), Js(0.0992), Js(0.0), Js(0.81666)]),'67':Js([Js(0.0), Js(0.68611), Js(0.14208), Js(0.0), Js(0.82666)]),'68':Js([Js(0.0), Js(0.68611), Js(0.09062), Js(0.0), Js(0.87555)]),'69':Js([Js(0.0), Js(0.68611), Js(0.11431), Js(0.0), Js(0.75666)]),'70':Js([Js(0.0), Js(0.68611), Js(0.12903), Js(0.0), Js(0.72722)]),'71':Js([Js(0.0), Js(0.68611), Js(0.07347), Js(0.0), Js(0.89527)]),'72':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(0.8961)]),'73':Js([Js(0.0), Js(0.68611), Js(0.15681), Js(0.0), Js(0.47166)]),'74':Js([Js(0.0), Js(0.68611), Js(0.145), Js(0.0), Js(0.61055)]),'75':Js([Js(0.0), Js(0.68611), Js(0.14208), Js(0.0), Js(0.89499)]),'76':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.69777)]),'77':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(1.07277)]),'78':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(0.8961)]),'79':Js([Js(0.0), Js(0.68611), Js(0.09062), Js(0.0), Js(0.85499)]),'80':Js([Js(0.0), Js(0.68611), Js(0.0992), Js(0.0), Js(0.78721)]),'81':Js([Js(0.19444), Js(0.68611), Js(0.09062), Js(0.0), Js(0.85499)]),'82':Js([Js(0.0), Js(0.68611), Js(0.02559), Js(0.0), Js(0.85944)]),'83':Js([Js(0.0), Js(0.68611), Js(0.11264), Js(0.0), Js(0.64999)]),'84':Js([Js(0.0), Js(0.68611), Js(0.12903), Js(0.0), Js(0.7961)]),'85':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(0.88083)]),'86':Js([Js(0.0), Js(0.68611), Js(0.18625), Js(0.0), Js(0.86555)]),'87':Js([Js(0.0), Js(0.68611), Js(0.18625), Js(0.0), Js(1.15999)]),'88':Js([Js(0.0), Js(0.68611), Js(0.15681), Js(0.0), Js(0.86555)]),'89':Js([Js(0.0), Js(0.68611), Js(0.19803), Js(0.0), Js(0.86555)]),'90':Js([Js(0.0), Js(0.68611), Js(0.14208), Js(0.0), Js(0.70888)]),'91':Js([Js(0.25), Js(0.75), Js(0.1875), Js(0.0), Js(0.35611)]),'93':Js([Js(0.25), Js(0.75), Js(0.09972), Js(0.0), Js(0.35611)]),'94':Js([Js(0.0), Js(0.69444), Js(0.06709), Js(0.0), Js(0.59111)]),'95':Js([Js(0.31), Js(0.13444), Js(0.09811), Js(0.0), Js(0.59111)]),'97':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.59111)]),'98':Js([Js(0.0), Js(0.69444), Js(0.07861), Js(0.0), Js(0.53222)]),'99':Js([Js(0.0), Js(0.44444), Js(0.05222), Js(0.0), Js(0.53222)]),'100':Js([Js(0.0), Js(0.69444), Js(0.10861), Js(0.0), Js(0.59111)]),'101':Js([Js(0.0), Js(0.44444), Js(0.085), Js(0.0), Js(0.53222)]),'102':Js([Js(0.19444), Js(0.69444), Js(0.21778), Js(0.0), Js(0.4)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.105), Js(0.0), Js(0.53222)]),'104':Js([Js(0.0), Js(0.69444), Js(0.09426), Js(0.0), Js(0.59111)]),'105':Js([Js(0.0), Js(0.69326), Js(0.11387), Js(0.0), Js(0.35555)]),'106':Js([Js(0.19444), Js(0.69326), Js(0.1672), Js(0.0), Js(0.35555)]),'107':Js([Js(0.0), Js(0.69444), Js(0.11111), Js(0.0), Js(0.53222)]),'108':Js([Js(0.0), Js(0.69444), Js(0.10861), Js(0.0), Js(0.29666)]),'109':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.94444)]),'110':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.64999)]),'111':Js([Js(0.0), Js(0.44444), Js(0.07861), Js(0.0), Js(0.59111)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.07861), Js(0.0), Js(0.59111)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.105), Js(0.0), Js(0.53222)]),'114':Js([Js(0.0), Js(0.44444), Js(0.11111), Js(0.0), Js(0.50167)]),'115':Js([Js(0.0), Js(0.44444), Js(0.08167), Js(0.0), Js(0.48694)]),'116':Js([Js(0.0), Js(0.63492), Js(0.09639), Js(0.0), Js(0.385)]),'117':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.62055)]),'118':Js([Js(0.0), Js(0.44444), Js(0.11111), Js(0.0), Js(0.53222)]),'119':Js([Js(0.0), Js(0.44444), Js(0.11111), Js(0.0), Js(0.76777)]),'120':Js([Js(0.0), Js(0.44444), Js(0.12583), Js(0.0), Js(0.56055)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.105), Js(0.0), Js(0.56166)]),'122':Js([Js(0.0), Js(0.44444), Js(0.13889), Js(0.0), Js(0.49055)]),'126':Js([Js(0.35), Js(0.34444), Js(0.11472), Js(0.0), Js(0.59111)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'168':Js([Js(0.0), Js(0.69444), Js(0.11473), Js(0.0), Js(0.59111)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.94888)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.53222)]),'198':Js([Js(0.0), Js(0.68611), Js(0.11431), Js(0.0), Js(1.02277)]),'216':Js([Js(0.04861), Js(0.73472), Js(0.09062), Js(0.0), Js(0.88555)]),'223':Js([Js(0.19444), Js(0.69444), Js(0.09736), Js(0.0), Js(0.665)]),'230':Js([Js(0.0), Js(0.44444), Js(0.085), Js(0.0), Js(0.82666)]),'248':Js([Js(0.09722), Js(0.54167), Js(0.09458), Js(0.0), Js(0.59111)]),'305':Js([Js(0.0), Js(0.44444), Js(0.09426), Js(0.0), Js(0.35555)]),'338':Js([Js(0.0), Js(0.68611), Js(0.11431), Js(0.0), Js(1.14054)]),'339':Js([Js(0.0), Js(0.44444), Js(0.085), Js(0.0), Js(0.82666)]),'567':Js([Js(0.19444), Js(0.44444), Js(0.04611), Js(0.0), Js(0.385)]),'710':Js([Js(0.0), Js(0.69444), Js(0.06709), Js(0.0), Js(0.59111)]),'711':Js([Js(0.0), Js(0.63194), Js(0.08271), Js(0.0), Js(0.59111)]),'713':Js([Js(0.0), Js(0.59444), Js(0.10444), Js(0.0), Js(0.59111)]),'714':Js([Js(0.0), Js(0.69444), Js(0.08528), Js(0.0), Js(0.59111)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.59111)]),'728':Js([Js(0.0), Js(0.69444), Js(0.10333), Js(0.0), Js(0.59111)]),'729':Js([Js(0.0), Js(0.69444), Js(0.12945), Js(0.0), Js(0.35555)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.94888)]),'732':Js([Js(0.0), Js(0.69444), Js(0.11472), Js(0.0), Js(0.59111)]),'733':Js([Js(0.0), Js(0.69444), Js(0.11472), Js(0.0), Js(0.59111)]),'915':Js([Js(0.0), Js(0.68611), Js(0.12903), Js(0.0), Js(0.69777)]),'916':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.94444)]),'920':Js([Js(0.0), Js(0.68611), Js(0.09062), Js(0.0), Js(0.88555)]),'923':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.80666)]),'926':Js([Js(0.0), Js(0.68611), Js(0.15092), Js(0.0), Js(0.76777)]),'928':Js([Js(0.0), Js(0.68611), Js(0.17208), Js(0.0), Js(0.8961)]),'931':Js([Js(0.0), Js(0.68611), Js(0.11431), Js(0.0), Js(0.82666)]),'933':Js([Js(0.0), Js(0.68611), Js(0.10778), Js(0.0), Js(0.88555)]),'934':Js([Js(0.0), Js(0.68611), Js(0.05632), Js(0.0), Js(0.82666)]),'936':Js([Js(0.0), Js(0.68611), Js(0.10778), Js(0.0), Js(0.88555)]),'937':Js([Js(0.0), Js(0.68611), Js(0.0992), Js(0.0), Js(0.82666)]),'8211':Js([Js(0.0), Js(0.44444), Js(0.09811), Js(0.0), Js(0.59111)]),'8212':Js([Js(0.0), Js(0.44444), Js(0.09811), Js(0.0), Js(1.18221)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.12945), Js(0.0), Js(0.35555)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.12945), Js(0.0), Js(0.35555)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.16772), Js(0.0), Js(0.62055)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.07939), Js(0.0), Js(0.62055)])}),'Main-Italic':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'33':Js([Js(0.0), Js(0.69444), Js(0.12417), Js(0.0), Js(0.30667)]),'34':Js([Js(0.0), Js(0.69444), Js(0.06961), Js(0.0), Js(0.51444)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.06616), Js(0.0), Js(0.81777)]),'37':Js([Js(0.05556), Js(0.75), Js(0.13639), Js(0.0), Js(0.81777)]),'38':Js([Js(0.0), Js(0.69444), Js(0.09694), Js(0.0), Js(0.76666)]),'39':Js([Js(0.0), Js(0.69444), Js(0.12417), Js(0.0), Js(0.30667)]),'40':Js([Js(0.25), Js(0.75), Js(0.16194), Js(0.0), Js(0.40889)]),'41':Js([Js(0.25), Js(0.75), Js(0.03694), Js(0.0), Js(0.40889)]),'42':Js([Js(0.0), Js(0.75), Js(0.14917), Js(0.0), Js(0.51111)]),'43':Js([Js(0.05667), Js(0.56167), Js(0.03694), Js(0.0), Js(0.76666)]),'44':Js([Js(0.19444), Js(0.10556), Js(0.0), Js(0.0), Js(0.30667)]),'45':Js([Js(0.0), Js(0.43056), Js(0.02826), Js(0.0), Js(0.35778)]),'46':Js([Js(0.0), Js(0.10556), Js(0.0), Js(0.0), Js(0.30667)]),'47':Js([Js(0.25), Js(0.75), Js(0.16194), Js(0.0), Js(0.51111)]),'48':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'49':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'50':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'51':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'52':Js([Js(0.19444), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'53':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'54':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'55':Js([Js(0.19444), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'56':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'57':Js([Js(0.0), Js(0.64444), Js(0.13556), Js(0.0), Js(0.51111)]),'58':Js([Js(0.0), Js(0.43056), Js(0.0582), Js(0.0), Js(0.30667)]),'59':Js([Js(0.19444), Js(0.43056), Js(0.0582), Js(0.0), Js(0.30667)]),'61':Js([(-Js(0.13313)), Js(0.36687), Js(0.06616), Js(0.0), Js(0.76666)]),'63':Js([Js(0.0), Js(0.69444), Js(0.1225), Js(0.0), Js(0.51111)]),'64':Js([Js(0.0), Js(0.69444), Js(0.09597), Js(0.0), Js(0.76666)]),'65':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.74333)]),'66':Js([Js(0.0), Js(0.68333), Js(0.10257), Js(0.0), Js(0.70389)]),'67':Js([Js(0.0), Js(0.68333), Js(0.14528), Js(0.0), Js(0.71555)]),'68':Js([Js(0.0), Js(0.68333), Js(0.09403), Js(0.0), Js(0.755)]),'69':Js([Js(0.0), Js(0.68333), Js(0.12028), Js(0.0), Js(0.67833)]),'70':Js([Js(0.0), Js(0.68333), Js(0.13305), Js(0.0), Js(0.65277)]),'71':Js([Js(0.0), Js(0.68333), Js(0.08722), Js(0.0), Js(0.77361)]),'72':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.74333)]),'73':Js([Js(0.0), Js(0.68333), Js(0.15806), Js(0.0), Js(0.38555)]),'74':Js([Js(0.0), Js(0.68333), Js(0.14028), Js(0.0), Js(0.525)]),'75':Js([Js(0.0), Js(0.68333), Js(0.14528), Js(0.0), Js(0.76888)]),'76':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.62722)]),'77':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.89666)]),'78':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.74333)]),'79':Js([Js(0.0), Js(0.68333), Js(0.09403), Js(0.0), Js(0.76666)]),'80':Js([Js(0.0), Js(0.68333), Js(0.10257), Js(0.0), Js(0.67833)]),'81':Js([Js(0.19444), Js(0.68333), Js(0.09403), Js(0.0), Js(0.76666)]),'82':Js([Js(0.0), Js(0.68333), Js(0.03868), Js(0.0), Js(0.72944)]),'83':Js([Js(0.0), Js(0.68333), Js(0.11972), Js(0.0), Js(0.56222)]),'84':Js([Js(0.0), Js(0.68333), Js(0.13305), Js(0.0), Js(0.71555)]),'85':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.74333)]),'86':Js([Js(0.0), Js(0.68333), Js(0.18361), Js(0.0), Js(0.74333)]),'87':Js([Js(0.0), Js(0.68333), Js(0.18361), Js(0.0), Js(0.99888)]),'88':Js([Js(0.0), Js(0.68333), Js(0.15806), Js(0.0), Js(0.74333)]),'89':Js([Js(0.0), Js(0.68333), Js(0.19383), Js(0.0), Js(0.74333)]),'90':Js([Js(0.0), Js(0.68333), Js(0.14528), Js(0.0), Js(0.61333)]),'91':Js([Js(0.25), Js(0.75), Js(0.1875), Js(0.0), Js(0.30667)]),'93':Js([Js(0.25), Js(0.75), Js(0.10528), Js(0.0), Js(0.30667)]),'94':Js([Js(0.0), Js(0.69444), Js(0.06646), Js(0.0), Js(0.51111)]),'95':Js([Js(0.31), Js(0.12056), Js(0.09208), Js(0.0), Js(0.51111)]),'97':Js([Js(0.0), Js(0.43056), Js(0.07671), Js(0.0), Js(0.51111)]),'98':Js([Js(0.0), Js(0.69444), Js(0.06312), Js(0.0), Js(0.46)]),'99':Js([Js(0.0), Js(0.43056), Js(0.05653), Js(0.0), Js(0.46)]),'100':Js([Js(0.0), Js(0.69444), Js(0.10333), Js(0.0), Js(0.51111)]),'101':Js([Js(0.0), Js(0.43056), Js(0.07514), Js(0.0), Js(0.46)]),'102':Js([Js(0.19444), Js(0.69444), Js(0.21194), Js(0.0), Js(0.30667)]),'103':Js([Js(0.19444), Js(0.43056), Js(0.08847), Js(0.0), Js(0.46)]),'104':Js([Js(0.0), Js(0.69444), Js(0.07671), Js(0.0), Js(0.51111)]),'105':Js([Js(0.0), Js(0.65536), Js(0.1019), Js(0.0), Js(0.30667)]),'106':Js([Js(0.19444), Js(0.65536), Js(0.14467), Js(0.0), Js(0.30667)]),'107':Js([Js(0.0), Js(0.69444), Js(0.10764), Js(0.0), Js(0.46)]),'108':Js([Js(0.0), Js(0.69444), Js(0.10333), Js(0.0), Js(0.25555)]),'109':Js([Js(0.0), Js(0.43056), Js(0.07671), Js(0.0), Js(0.81777)]),'110':Js([Js(0.0), Js(0.43056), Js(0.07671), Js(0.0), Js(0.56222)]),'111':Js([Js(0.0), Js(0.43056), Js(0.06312), Js(0.0), Js(0.51111)]),'112':Js([Js(0.19444), Js(0.43056), Js(0.06312), Js(0.0), Js(0.51111)]),'113':Js([Js(0.19444), Js(0.43056), Js(0.08847), Js(0.0), Js(0.46)]),'114':Js([Js(0.0), Js(0.43056), Js(0.10764), Js(0.0), Js(0.42166)]),'115':Js([Js(0.0), Js(0.43056), Js(0.08208), Js(0.0), Js(0.40889)]),'116':Js([Js(0.0), Js(0.61508), Js(0.09486), Js(0.0), Js(0.33222)]),'117':Js([Js(0.0), Js(0.43056), Js(0.07671), Js(0.0), Js(0.53666)]),'118':Js([Js(0.0), Js(0.43056), Js(0.10764), Js(0.0), Js(0.46)]),'119':Js([Js(0.0), Js(0.43056), Js(0.10764), Js(0.0), Js(0.66444)]),'120':Js([Js(0.0), Js(0.43056), Js(0.12042), Js(0.0), Js(0.46389)]),'121':Js([Js(0.19444), Js(0.43056), Js(0.08847), Js(0.0), Js(0.48555)]),'122':Js([Js(0.0), Js(0.43056), Js(0.12292), Js(0.0), Js(0.40889)]),'126':Js([Js(0.35), Js(0.31786), Js(0.11585), Js(0.0), Js(0.51111)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'168':Js([Js(0.0), Js(0.66786), Js(0.10474), Js(0.0), Js(0.51111)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83129)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.46)]),'198':Js([Js(0.0), Js(0.68333), Js(0.12028), Js(0.0), Js(0.88277)]),'216':Js([Js(0.04861), Js(0.73194), Js(0.09403), Js(0.0), Js(0.76666)]),'223':Js([Js(0.19444), Js(0.69444), Js(0.10514), Js(0.0), Js(0.53666)]),'230':Js([Js(0.0), Js(0.43056), Js(0.07514), Js(0.0), Js(0.71555)]),'248':Js([Js(0.09722), Js(0.52778), Js(0.09194), Js(0.0), Js(0.51111)]),'338':Js([Js(0.0), Js(0.68333), Js(0.12028), Js(0.0), Js(0.98499)]),'339':Js([Js(0.0), Js(0.43056), Js(0.07514), Js(0.0), Js(0.71555)]),'710':Js([Js(0.0), Js(0.69444), Js(0.06646), Js(0.0), Js(0.51111)]),'711':Js([Js(0.0), Js(0.62847), Js(0.08295), Js(0.0), Js(0.51111)]),'713':Js([Js(0.0), Js(0.56167), Js(0.10333), Js(0.0), Js(0.51111)]),'714':Js([Js(0.0), Js(0.69444), Js(0.09694), Js(0.0), Js(0.51111)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51111)]),'728':Js([Js(0.0), Js(0.69444), Js(0.10806), Js(0.0), Js(0.51111)]),'729':Js([Js(0.0), Js(0.66786), Js(0.11752), Js(0.0), Js(0.30667)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83129)]),'732':Js([Js(0.0), Js(0.66786), Js(0.11585), Js(0.0), Js(0.51111)]),'733':Js([Js(0.0), Js(0.69444), Js(0.1225), Js(0.0), Js(0.51111)]),'915':Js([Js(0.0), Js(0.68333), Js(0.13305), Js(0.0), Js(0.62722)]),'916':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.81777)]),'920':Js([Js(0.0), Js(0.68333), Js(0.09403), Js(0.0), Js(0.76666)]),'923':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.69222)]),'926':Js([Js(0.0), Js(0.68333), Js(0.15294), Js(0.0), Js(0.66444)]),'928':Js([Js(0.0), Js(0.68333), Js(0.16389), Js(0.0), Js(0.74333)]),'931':Js([Js(0.0), Js(0.68333), Js(0.12028), Js(0.0), Js(0.71555)]),'933':Js([Js(0.0), Js(0.68333), Js(0.11111), Js(0.0), Js(0.76666)]),'934':Js([Js(0.0), Js(0.68333), Js(0.05986), Js(0.0), Js(0.71555)]),'936':Js([Js(0.0), Js(0.68333), Js(0.11111), Js(0.0), Js(0.76666)]),'937':Js([Js(0.0), Js(0.68333), Js(0.10257), Js(0.0), Js(0.71555)]),'8211':Js([Js(0.0), Js(0.43056), Js(0.09208), Js(0.0), Js(0.51111)]),'8212':Js([Js(0.0), Js(0.43056), Js(0.09208), Js(0.0), Js(1.02222)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.12417), Js(0.0), Js(0.30667)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.12417), Js(0.0), Js(0.30667)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.1685), Js(0.0), Js(0.51444)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.06961), Js(0.0), Js(0.51444)]),'8463':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.54028)])}),'Main-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'33':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'34':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.83334)]),'36':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'37':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'38':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'39':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'40':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'41':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'42':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'43':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'44':Js([Js(0.19444), Js(0.10556), Js(0.0), Js(0.0), Js(0.27778)]),'45':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.33333)]),'46':Js([Js(0.0), Js(0.10556), Js(0.0), Js(0.0), Js(0.27778)]),'47':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'48':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'49':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'50':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'51':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'52':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'53':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'54':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'55':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'56':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'57':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'58':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.27778)]),'59':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.27778)]),'60':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'61':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(0.77778)]),'62':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'63':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.47222)]),'64':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'65':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'66':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.70834)]),'67':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'68':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.76389)]),'69':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.68056)]),'70':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.65278)]),'71':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.78472)]),'72':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'73':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.36111)]),'74':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.51389)]),'75':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'76':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.625)]),'77':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.91667)]),'78':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'79':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'80':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.68056)]),'81':Js([Js(0.19444), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'82':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.73611)]),'83':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.55556)]),'84':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'85':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'86':Js([Js(0.0), Js(0.68333), Js(0.01389), Js(0.0), Js(0.75)]),'87':Js([Js(0.0), Js(0.68333), Js(0.01389), Js(0.0), Js(1.02778)]),'88':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'89':Js([Js(0.0), Js(0.68333), Js(0.025), Js(0.0), Js(0.75)]),'90':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.61111)]),'91':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.27778)]),'92':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'93':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.27778)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'95':Js([Js(0.31), Js(0.12056), Js(0.02778), Js(0.0), Js(0.5)]),'97':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'99':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.44445)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'101':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.44445)]),'102':Js([Js(0.0), Js(0.69444), Js(0.07778), Js(0.0), Js(0.30556)]),'103':Js([Js(0.19444), Js(0.43056), Js(0.01389), Js(0.0), Js(0.5)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'105':Js([Js(0.0), Js(0.66786), Js(0.0), Js(0.0), Js(0.27778)]),'106':Js([Js(0.19444), Js(0.66786), Js(0.0), Js(0.0), Js(0.30556)]),'107':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.52778)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'109':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.83334)]),'110':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.55556)]),'111':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'112':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.55556)]),'113':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.52778)]),'114':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.39167)]),'115':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.39445)]),'116':Js([Js(0.0), Js(0.61508), Js(0.0), Js(0.0), Js(0.38889)]),'117':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.55556)]),'118':Js([Js(0.0), Js(0.43056), Js(0.01389), Js(0.0), Js(0.52778)]),'119':Js([Js(0.0), Js(0.43056), Js(0.01389), Js(0.0), Js(0.72222)]),'120':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.52778)]),'121':Js([Js(0.19444), Js(0.43056), Js(0.01389), Js(0.0), Js(0.52778)]),'122':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.44445)]),'123':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'124':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.27778)]),'125':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'126':Js([Js(0.35), Js(0.31786), Js(0.0), Js(0.0), Js(0.5)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'163':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.76909)]),'167':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44445)]),'168':Js([Js(0.0), Js(0.66786), Js(0.0), Js(0.0), Js(0.5)]),'172':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.66667)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.75)]),'177':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'182':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.44445)]),'198':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.90278)]),'215':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'216':Js([Js(0.04861), Js(0.73194), Js(0.0), Js(0.0), Js(0.77778)]),'223':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'230':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.72222)]),'247':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'248':Js([Js(0.09722), Js(0.52778), Js(0.0), Js(0.0), Js(0.5)]),'305':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.27778)]),'338':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(1.01389)]),'339':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.77778)]),'567':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.30556)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'711':Js([Js(0.0), Js(0.62847), Js(0.0), Js(0.0), Js(0.5)]),'713':Js([Js(0.0), Js(0.56778), Js(0.0), Js(0.0), Js(0.5)]),'714':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'728':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'729':Js([Js(0.0), Js(0.66786), Js(0.0), Js(0.0), Js(0.27778)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.75)]),'732':Js([Js(0.0), Js(0.66786), Js(0.0), Js(0.0), Js(0.5)]),'733':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'915':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.625)]),'916':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.83334)]),'920':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'923':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.69445)]),'926':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.66667)]),'928':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'931':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'933':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'934':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'936':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.77778)]),'937':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.72222)]),'8211':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.0), Js(0.5)]),'8212':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.0), Js(1.0)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8224':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44445)]),'8225':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.44445)]),'8230':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(1.172)]),'8242':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.275)]),'8407':Js([Js(0.0), Js(0.71444), Js(0.15382), Js(0.0), Js(0.5)]),'8463':Js([Js(0.0), Js(0.68889), Js(0.0), Js(0.0), Js(0.54028)]),'8465':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'8467':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.11111), Js(0.41667)]),'8472':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.11111), Js(0.63646)]),'8476':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'8501':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8592':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8593':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8594':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8595':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8596':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8597':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8598':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'8599':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'8600':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'8601':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'8614':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.0)]),'8617':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.126)]),'8618':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.126)]),'8636':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8637':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8640':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8641':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8652':Js([Js(0.011), Js(0.671), Js(0.0), Js(0.0), Js(1.0)]),'8656':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8657':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8658':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8659':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8660':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(1.0)]),'8661':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.61111)]),'8704':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'8706':Js([Js(0.0), Js(0.69444), Js(0.05556), Js(0.08334), Js(0.5309)]),'8707':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'8709':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8711':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.83334)]),'8712':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.66667)]),'8715':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.66667)]),'8722':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8723':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8725':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8726':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8727':Js([(-Js(0.03472)), Js(0.46528), Js(0.0), Js(0.0), Js(0.5)]),'8728':Js([(-Js(0.05555)), Js(0.44445), Js(0.0), Js(0.0), Js(0.5)]),'8729':Js([(-Js(0.05555)), Js(0.44445), Js(0.0), Js(0.0), Js(0.5)]),'8730':Js([Js(0.2), Js(0.8), Js(0.0), Js(0.0), Js(0.83334)]),'8733':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.77778)]),'8734':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(1.0)]),'8736':Js([Js(0.0), Js(0.69224), Js(0.0), Js(0.0), Js(0.72222)]),'8739':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.27778)]),'8741':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'8743':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8744':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8745':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8746':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8747':Js([Js(0.19444), Js(0.69444), Js(0.11111), Js(0.0), Js(0.41667)]),'8764':Js([(-Js(0.13313)), Js(0.36687), Js(0.0), Js(0.0), Js(0.77778)]),'8768':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8771':Js([(-Js(0.03625)), Js(0.46375), Js(0.0), Js(0.0), Js(0.77778)]),'8773':Js([(-Js(0.022)), Js(0.589), Js(0.0), Js(0.0), Js(1.0)]),'8776':Js([(-Js(0.01688)), Js(0.48312), Js(0.0), Js(0.0), Js(0.77778)]),'8781':Js([(-Js(0.03625)), Js(0.46375), Js(0.0), Js(0.0), Js(0.77778)]),'8784':Js([(-Js(0.133)), Js(0.67), Js(0.0), Js(0.0), Js(0.778)]),'8801':Js([(-Js(0.03625)), Js(0.46375), Js(0.0), Js(0.0), Js(0.77778)]),'8804':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8805':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8810':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(1.0)]),'8811':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(1.0)]),'8826':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8827':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8834':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8835':Js([Js(0.0391), Js(0.5391), Js(0.0), Js(0.0), Js(0.77778)]),'8838':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8839':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8846':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8849':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8850':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'8851':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8852':Js([Js(0.0), Js(0.55556), Js(0.0), Js(0.0), Js(0.66667)]),'8853':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8854':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8855':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8856':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8857':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'8866':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8867':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'8868':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'8869':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'8872':Js([Js(0.249), Js(0.75), Js(0.0), Js(0.0), Js(0.867)]),'8900':Js([(-Js(0.05555)), Js(0.44445), Js(0.0), Js(0.0), Js(0.5)]),'8901':Js([(-Js(0.05555)), Js(0.44445), Js(0.0), Js(0.0), Js(0.27778)]),'8902':Js([(-Js(0.03472)), Js(0.46528), Js(0.0), Js(0.0), Js(0.5)]),'8904':Js([Js(0.005), Js(0.505), Js(0.0), Js(0.0), Js(0.9)]),'8942':Js([Js(0.03), Js(0.9), Js(0.0), Js(0.0), Js(0.278)]),'8943':Js([(-Js(0.19)), Js(0.31), Js(0.0), Js(0.0), Js(1.172)]),'8945':Js([(-Js(0.1)), Js(0.82), Js(0.0), Js(0.0), Js(1.282)]),'8968':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44445)]),'8969':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44445)]),'8970':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44445)]),'8971':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.44445)]),'8994':Js([(-Js(0.14236)), Js(0.35764), Js(0.0), Js(0.0), Js(1.0)]),'8995':Js([(-Js(0.14236)), Js(0.35764), Js(0.0), Js(0.0), Js(1.0)]),'9136':Js([Js(0.244), Js(0.744), Js(0.0), Js(0.0), Js(0.412)]),'9137':Js([Js(0.244), Js(0.744), Js(0.0), Js(0.0), Js(0.412)]),'9651':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.88889)]),'9657':Js([(-Js(0.03472)), Js(0.46528), Js(0.0), Js(0.0), Js(0.5)]),'9661':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.88889)]),'9667':Js([(-Js(0.03472)), Js(0.46528), Js(0.0), Js(0.0), Js(0.5)]),'9711':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(1.0)]),'9824':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'9825':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'9826':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'9827':Js([Js(0.12963), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'9837':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'9838':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.38889)]),'9839':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.38889)]),'10216':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'10217':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'10222':Js([Js(0.244), Js(0.744), Js(0.0), Js(0.0), Js(0.412)]),'10223':Js([Js(0.244), Js(0.744), Js(0.0), Js(0.0), Js(0.412)]),'10229':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.609)]),'10230':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.638)]),'10231':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.859)]),'10232':Js([Js(0.024), Js(0.525), Js(0.0), Js(0.0), Js(1.609)]),'10233':Js([Js(0.024), Js(0.525), Js(0.0), Js(0.0), Js(1.638)]),'10234':Js([Js(0.024), Js(0.525), Js(0.0), Js(0.0), Js(1.858)]),'10236':Js([Js(0.011), Js(0.511), Js(0.0), Js(0.0), Js(1.638)]),'10815':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.0), Js(0.75)]),'10927':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'10928':Js([Js(0.13597), Js(0.63597), Js(0.0), Js(0.0), Js(0.77778)]),'57376':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.0)])}),'Math-BoldItalic':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'48':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'49':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'50':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'51':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'52':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'53':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'54':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'55':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'56':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.575)]),'57':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.575)]),'65':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.86944)]),'66':Js([Js(0.0), Js(0.68611), Js(0.04835), Js(0.0), Js(0.8664)]),'67':Js([Js(0.0), Js(0.68611), Js(0.06979), Js(0.0), Js(0.81694)]),'68':Js([Js(0.0), Js(0.68611), Js(0.03194), Js(0.0), Js(0.93812)]),'69':Js([Js(0.0), Js(0.68611), Js(0.05451), Js(0.0), Js(0.81007)]),'70':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.68889)]),'71':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.88673)]),'72':Js([Js(0.0), Js(0.68611), Js(0.08229), Js(0.0), Js(0.98229)]),'73':Js([Js(0.0), Js(0.68611), Js(0.07778), Js(0.0), Js(0.51111)]),'74':Js([Js(0.0), Js(0.68611), Js(0.10069), Js(0.0), Js(0.63125)]),'75':Js([Js(0.0), Js(0.68611), Js(0.06979), Js(0.0), Js(0.97118)]),'76':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.75555)]),'77':Js([Js(0.0), Js(0.68611), Js(0.11424), Js(0.0), Js(1.14201)]),'78':Js([Js(0.0), Js(0.68611), Js(0.11424), Js(0.0), Js(0.95034)]),'79':Js([Js(0.0), Js(0.68611), Js(0.03194), Js(0.0), Js(0.83666)]),'80':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.72309)]),'81':Js([Js(0.19444), Js(0.68611), Js(0.0), Js(0.0), Js(0.86861)]),'82':Js([Js(0.0), Js(0.68611), Js(0.00421), Js(0.0), Js(0.87235)]),'83':Js([Js(0.0), Js(0.68611), Js(0.05382), Js(0.0), Js(0.69271)]),'84':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.63663)]),'85':Js([Js(0.0), Js(0.68611), Js(0.11424), Js(0.0), Js(0.80027)]),'86':Js([Js(0.0), Js(0.68611), Js(0.25555), Js(0.0), Js(0.67778)]),'87':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(1.09305)]),'88':Js([Js(0.0), Js(0.68611), Js(0.07778), Js(0.0), Js(0.94722)]),'89':Js([Js(0.0), Js(0.68611), Js(0.25555), Js(0.0), Js(0.67458)]),'90':Js([Js(0.0), Js(0.68611), Js(0.06979), Js(0.0), Js(0.77257)]),'97':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.63287)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.52083)]),'99':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51342)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.60972)]),'101':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.55361)]),'102':Js([Js(0.19444), Js(0.69444), Js(0.11042), Js(0.0), Js(0.56806)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.03704), Js(0.0), Js(0.5449)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66759)]),'105':Js([Js(0.0), Js(0.69326), Js(0.0), Js(0.0), Js(0.4048)]),'106':Js([Js(0.19444), Js(0.69326), Js(0.0622), Js(0.0), Js(0.47083)]),'107':Js([Js(0.0), Js(0.69444), Js(0.01852), Js(0.0), Js(0.6037)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0088), Js(0.0), Js(0.34815)]),'109':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(1.0324)]),'110':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.71296)]),'111':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.58472)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.60092)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.03704), Js(0.0), Js(0.54213)]),'114':Js([Js(0.0), Js(0.44444), Js(0.03194), Js(0.0), Js(0.5287)]),'115':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.53125)]),'116':Js([Js(0.0), Js(0.63492), Js(0.0), Js(0.0), Js(0.41528)]),'117':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.68102)]),'118':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.56666)]),'119':Js([Js(0.0), Js(0.44444), Js(0.02778), Js(0.0), Js(0.83148)]),'120':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.65903)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.03704), Js(0.0), Js(0.59028)]),'122':Js([Js(0.0), Js(0.44444), Js(0.04213), Js(0.0), Js(0.55509)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'915':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.65694)]),'916':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.95833)]),'920':Js([Js(0.0), Js(0.68611), Js(0.03194), Js(0.0), Js(0.86722)]),'923':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.80555)]),'926':Js([Js(0.0), Js(0.68611), Js(0.07458), Js(0.0), Js(0.84125)]),'928':Js([Js(0.0), Js(0.68611), Js(0.08229), Js(0.0), Js(0.98229)]),'931':Js([Js(0.0), Js(0.68611), Js(0.05451), Js(0.0), Js(0.88507)]),'933':Js([Js(0.0), Js(0.68611), Js(0.15972), Js(0.0), Js(0.67083)]),'934':Js([Js(0.0), Js(0.68611), Js(0.0), Js(0.0), Js(0.76666)]),'936':Js([Js(0.0), Js(0.68611), Js(0.11653), Js(0.0), Js(0.71402)]),'937':Js([Js(0.0), Js(0.68611), Js(0.04835), Js(0.0), Js(0.8789)]),'945':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.76064)]),'946':Js([Js(0.19444), Js(0.69444), Js(0.03403), Js(0.0), Js(0.65972)]),'947':Js([Js(0.19444), Js(0.44444), Js(0.06389), Js(0.0), Js(0.59003)]),'948':Js([Js(0.0), Js(0.69444), Js(0.03819), Js(0.0), Js(0.52222)]),'949':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.52882)]),'950':Js([Js(0.19444), Js(0.69444), Js(0.06215), Js(0.0), Js(0.50833)]),'951':Js([Js(0.19444), Js(0.44444), Js(0.03704), Js(0.0), Js(0.6)]),'952':Js([Js(0.0), Js(0.69444), Js(0.03194), Js(0.0), Js(0.5618)]),'953':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.41204)]),'954':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.66759)]),'955':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.67083)]),'956':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.70787)]),'957':Js([Js(0.0), Js(0.44444), Js(0.06898), Js(0.0), Js(0.57685)]),'958':Js([Js(0.19444), Js(0.69444), Js(0.03021), Js(0.0), Js(0.50833)]),'959':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.58472)]),'960':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.68241)]),'961':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.6118)]),'962':Js([Js(0.09722), Js(0.44444), Js(0.07917), Js(0.0), Js(0.42361)]),'963':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.68588)]),'964':Js([Js(0.0), Js(0.44444), Js(0.13472), Js(0.0), Js(0.52083)]),'965':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.63055)]),'966':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.74722)]),'967':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.71805)]),'968':Js([Js(0.19444), Js(0.69444), Js(0.03704), Js(0.0), Js(0.75833)]),'969':Js([Js(0.0), Js(0.44444), Js(0.03704), Js(0.0), Js(0.71782)]),'977':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.69155)]),'981':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.7125)]),'982':Js([Js(0.0), Js(0.44444), Js(0.03194), Js(0.0), Js(0.975)]),'1009':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.6118)]),'1013':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.48333)]),'57649':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.39352)]),'57911':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.43889)])}),'Math-Italic':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'48':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'49':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'50':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'51':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'52':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'53':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'54':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'55':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'56':Js([Js(0.0), Js(0.64444), Js(0.0), Js(0.0), Js(0.5)]),'57':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.0), Js(0.5)]),'65':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.13889), Js(0.75)]),'66':Js([Js(0.0), Js(0.68333), Js(0.05017), Js(0.08334), Js(0.75851)]),'67':Js([Js(0.0), Js(0.68333), Js(0.07153), Js(0.08334), Js(0.71472)]),'68':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.05556), Js(0.82792)]),'69':Js([Js(0.0), Js(0.68333), Js(0.05764), Js(0.08334), Js(0.7382)]),'70':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.64306)]),'71':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.08334), Js(0.78625)]),'72':Js([Js(0.0), Js(0.68333), Js(0.08125), Js(0.05556), Js(0.83125)]),'73':Js([Js(0.0), Js(0.68333), Js(0.07847), Js(0.11111), Js(0.43958)]),'74':Js([Js(0.0), Js(0.68333), Js(0.09618), Js(0.16667), Js(0.55451)]),'75':Js([Js(0.0), Js(0.68333), Js(0.07153), Js(0.05556), Js(0.84931)]),'76':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.02778), Js(0.68056)]),'77':Js([Js(0.0), Js(0.68333), Js(0.10903), Js(0.08334), Js(0.97014)]),'78':Js([Js(0.0), Js(0.68333), Js(0.10903), Js(0.08334), Js(0.80347)]),'79':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.08334), Js(0.76278)]),'80':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.64201)]),'81':Js([Js(0.19444), Js(0.68333), Js(0.0), Js(0.08334), Js(0.79056)]),'82':Js([Js(0.0), Js(0.68333), Js(0.00773), Js(0.08334), Js(0.75929)]),'83':Js([Js(0.0), Js(0.68333), Js(0.05764), Js(0.08334), Js(0.6132)]),'84':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.58438)]),'85':Js([Js(0.0), Js(0.68333), Js(0.10903), Js(0.02778), Js(0.68278)]),'86':Js([Js(0.0), Js(0.68333), Js(0.22222), Js(0.0), Js(0.58333)]),'87':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.0), Js(0.94445)]),'88':Js([Js(0.0), Js(0.68333), Js(0.07847), Js(0.08334), Js(0.82847)]),'89':Js([Js(0.0), Js(0.68333), Js(0.22222), Js(0.0), Js(0.58056)]),'90':Js([Js(0.0), Js(0.68333), Js(0.07153), Js(0.08334), Js(0.68264)]),'97':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.52859)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.42917)]),'99':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.43276)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.16667), Js(0.52049)]),'101':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.46563)]),'102':Js([Js(0.19444), Js(0.69444), Js(0.10764), Js(0.16667), Js(0.48959)]),'103':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.02778), Js(0.47697)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.57616)]),'105':Js([Js(0.0), Js(0.65952), Js(0.0), Js(0.0), Js(0.34451)]),'106':Js([Js(0.19444), Js(0.65952), Js(0.05724), Js(0.0), Js(0.41181)]),'107':Js([Js(0.0), Js(0.69444), Js(0.03148), Js(0.0), Js(0.5206)]),'108':Js([Js(0.0), Js(0.69444), Js(0.01968), Js(0.08334), Js(0.29838)]),'109':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.87801)]),'110':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.60023)]),'111':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.48472)]),'112':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.50313)]),'113':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.08334), Js(0.44641)]),'114':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.05556), Js(0.45116)]),'115':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.46875)]),'116':Js([Js(0.0), Js(0.61508), Js(0.0), Js(0.08334), Js(0.36111)]),'117':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.02778), Js(0.57246)]),'118':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.02778), Js(0.48472)]),'119':Js([Js(0.0), Js(0.43056), Js(0.02691), Js(0.08334), Js(0.71592)]),'120':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.02778), Js(0.57153)]),'121':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.05556), Js(0.49028)]),'122':Js([Js(0.0), Js(0.43056), Js(0.04398), Js(0.05556), Js(0.46505)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'915':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.08334), Js(0.61528)]),'916':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.16667), Js(0.83334)]),'920':Js([Js(0.0), Js(0.68333), Js(0.02778), Js(0.08334), Js(0.76278)]),'923':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.16667), Js(0.69445)]),'926':Js([Js(0.0), Js(0.68333), Js(0.07569), Js(0.08334), Js(0.74236)]),'928':Js([Js(0.0), Js(0.68333), Js(0.08125), Js(0.05556), Js(0.83125)]),'931':Js([Js(0.0), Js(0.68333), Js(0.05764), Js(0.08334), Js(0.77986)]),'933':Js([Js(0.0), Js(0.68333), Js(0.13889), Js(0.05556), Js(0.58333)]),'934':Js([Js(0.0), Js(0.68333), Js(0.0), Js(0.08334), Js(0.66667)]),'936':Js([Js(0.0), Js(0.68333), Js(0.11), Js(0.05556), Js(0.61222)]),'937':Js([Js(0.0), Js(0.68333), Js(0.05017), Js(0.08334), Js(0.7724)]),'945':Js([Js(0.0), Js(0.43056), Js(0.0037), Js(0.02778), Js(0.6397)]),'946':Js([Js(0.19444), Js(0.69444), Js(0.05278), Js(0.08334), Js(0.56563)]),'947':Js([Js(0.19444), Js(0.43056), Js(0.05556), Js(0.0), Js(0.51773)]),'948':Js([Js(0.0), Js(0.69444), Js(0.03785), Js(0.05556), Js(0.44444)]),'949':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.08334), Js(0.46632)]),'950':Js([Js(0.19444), Js(0.69444), Js(0.07378), Js(0.08334), Js(0.4375)]),'951':Js([Js(0.19444), Js(0.43056), Js(0.03588), Js(0.05556), Js(0.49653)]),'952':Js([Js(0.0), Js(0.69444), Js(0.02778), Js(0.08334), Js(0.46944)]),'953':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.35394)]),'954':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.57616)]),'955':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.58334)]),'956':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.02778), Js(0.60255)]),'957':Js([Js(0.0), Js(0.43056), Js(0.06366), Js(0.02778), Js(0.49398)]),'958':Js([Js(0.19444), Js(0.69444), Js(0.04601), Js(0.11111), Js(0.4375)]),'959':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.48472)]),'960':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.0), Js(0.57003)]),'961':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.51702)]),'962':Js([Js(0.09722), Js(0.43056), Js(0.07986), Js(0.08334), Js(0.36285)]),'963':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.0), Js(0.57141)]),'964':Js([Js(0.0), Js(0.43056), Js(0.1132), Js(0.02778), Js(0.43715)]),'965':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.02778), Js(0.54028)]),'966':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.65417)]),'967':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.05556), Js(0.62569)]),'968':Js([Js(0.19444), Js(0.69444), Js(0.03588), Js(0.11111), Js(0.65139)]),'969':Js([Js(0.0), Js(0.43056), Js(0.03588), Js(0.0), Js(0.62245)]),'977':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.08334), Js(0.59144)]),'981':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.08334), Js(0.59583)]),'982':Js([Js(0.0), Js(0.43056), Js(0.02778), Js(0.0), Js(0.82813)]),'1009':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.51702)]),'1013':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.05556), Js(0.4059)]),'57649':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.02778), Js(0.32246)]),'57911':Js([Js(0.19444), Js(0.43056), Js(0.0), Js(0.08334), Js(0.38403)])}),'SansSerif-Bold':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'33':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.36667)]),'34':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55834)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.91667)]),'36':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.55)]),'37':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(1.02912)]),'38':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83056)]),'39':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.30556)]),'40':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.42778)]),'41':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.42778)]),'42':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.55)]),'43':Js([Js(0.11667), Js(0.61667), Js(0.0), Js(0.0), Js(0.85556)]),'44':Js([Js(0.10556), Js(0.13056), Js(0.0), Js(0.0), Js(0.30556)]),'45':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.36667)]),'46':Js([Js(0.0), Js(0.13056), Js(0.0), Js(0.0), Js(0.30556)]),'47':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.55)]),'48':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'49':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'50':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'51':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'52':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'53':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'54':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'55':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'56':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'57':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'58':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.30556)]),'59':Js([Js(0.10556), Js(0.45833), Js(0.0), Js(0.0), Js(0.30556)]),'61':Js([(-Js(0.09375)), Js(0.40625), Js(0.0), Js(0.0), Js(0.85556)]),'63':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51945)]),'64':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'65':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'66':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'67':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70278)]),'68':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'69':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.64167)]),'70':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'71':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'72':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'73':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.33056)]),'74':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51945)]),'75':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.76389)]),'76':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.58056)]),'77':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.97778)]),'78':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'79':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'80':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70278)]),'81':Js([Js(0.10556), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'82':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70278)]),'83':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'84':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'85':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.76389)]),'86':Js([Js(0.0), Js(0.69444), Js(0.01528), Js(0.0), Js(0.73334)]),'87':Js([Js(0.0), Js(0.69444), Js(0.01528), Js(0.0), Js(1.03889)]),'88':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'89':Js([Js(0.0), Js(0.69444), Js(0.0275), Js(0.0), Js(0.73334)]),'90':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.67223)]),'91':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.34306)]),'93':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.34306)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'95':Js([Js(0.35), Js(0.10833), Js(0.03056), Js(0.0), Js(0.55)]),'97':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.525)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.56111)]),'99':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.48889)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.56111)]),'101':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.51111)]),'102':Js([Js(0.0), Js(0.69444), Js(0.07639), Js(0.0), Js(0.33611)]),'103':Js([Js(0.19444), Js(0.45833), Js(0.01528), Js(0.0), Js(0.55)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.56111)]),'105':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.25556)]),'106':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.28611)]),'107':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.53056)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.25556)]),'109':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.86667)]),'110':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.56111)]),'111':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.55)]),'112':Js([Js(0.19444), Js(0.45833), Js(0.0), Js(0.0), Js(0.56111)]),'113':Js([Js(0.19444), Js(0.45833), Js(0.0), Js(0.0), Js(0.56111)]),'114':Js([Js(0.0), Js(0.45833), Js(0.01528), Js(0.0), Js(0.37222)]),'115':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.42167)]),'116':Js([Js(0.0), Js(0.58929), Js(0.0), Js(0.0), Js(0.40417)]),'117':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.56111)]),'118':Js([Js(0.0), Js(0.45833), Js(0.01528), Js(0.0), Js(0.5)]),'119':Js([Js(0.0), Js(0.45833), Js(0.01528), Js(0.0), Js(0.74445)]),'120':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.5)]),'121':Js([Js(0.19444), Js(0.45833), Js(0.01528), Js(0.0), Js(0.5)]),'122':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.47639)]),'126':Js([Js(0.35), Js(0.34444), Js(0.0), Js(0.0), Js(0.55)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'168':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'180':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.48889)]),'305':Js([Js(0.0), Js(0.45833), Js(0.0), Js(0.0), Js(0.25556)]),'567':Js([Js(0.19444), Js(0.45833), Js(0.0), Js(0.0), Js(0.28611)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'711':Js([Js(0.0), Js(0.63542), Js(0.0), Js(0.0), Js(0.55)]),'713':Js([Js(0.0), Js(0.63778), Js(0.0), Js(0.0), Js(0.55)]),'728':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'729':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.30556)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'732':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'733':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55)]),'915':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.58056)]),'916':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.91667)]),'920':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.85556)]),'923':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.67223)]),'926':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73334)]),'928':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'931':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'933':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.85556)]),'934':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'936':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.85556)]),'937':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.79445)]),'8211':Js([Js(0.0), Js(0.45833), Js(0.03056), Js(0.0), Js(0.55)]),'8212':Js([Js(0.0), Js(0.45833), Js(0.03056), Js(0.0), Js(1.10001)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.30556)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.30556)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55834)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55834)])}),'SansSerif-Italic':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'33':Js([Js(0.0), Js(0.69444), Js(0.05733), Js(0.0), Js(0.31945)]),'34':Js([Js(0.0), Js(0.69444), Js(0.00316), Js(0.0), Js(0.5)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.05087), Js(0.0), Js(0.83334)]),'36':Js([Js(0.05556), Js(0.75), Js(0.11156), Js(0.0), Js(0.5)]),'37':Js([Js(0.05556), Js(0.75), Js(0.03126), Js(0.0), Js(0.83334)]),'38':Js([Js(0.0), Js(0.69444), Js(0.03058), Js(0.0), Js(0.75834)]),'39':Js([Js(0.0), Js(0.69444), Js(0.07816), Js(0.0), Js(0.27778)]),'40':Js([Js(0.25), Js(0.75), Js(0.13164), Js(0.0), Js(0.38889)]),'41':Js([Js(0.25), Js(0.75), Js(0.02536), Js(0.0), Js(0.38889)]),'42':Js([Js(0.0), Js(0.75), Js(0.11775), Js(0.0), Js(0.5)]),'43':Js([Js(0.08333), Js(0.58333), Js(0.02536), Js(0.0), Js(0.77778)]),'44':Js([Js(0.125), Js(0.08333), Js(0.0), Js(0.0), Js(0.27778)]),'45':Js([Js(0.0), Js(0.44444), Js(0.01946), Js(0.0), Js(0.33333)]),'46':Js([Js(0.0), Js(0.08333), Js(0.0), Js(0.0), Js(0.27778)]),'47':Js([Js(0.25), Js(0.75), Js(0.13164), Js(0.0), Js(0.5)]),'48':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'49':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'50':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'51':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'52':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'53':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'54':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'55':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'56':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'57':Js([Js(0.0), Js(0.65556), Js(0.11156), Js(0.0), Js(0.5)]),'58':Js([Js(0.0), Js(0.44444), Js(0.02502), Js(0.0), Js(0.27778)]),'59':Js([Js(0.125), Js(0.44444), Js(0.02502), Js(0.0), Js(0.27778)]),'61':Js([(-Js(0.13)), Js(0.37), Js(0.05087), Js(0.0), Js(0.77778)]),'63':Js([Js(0.0), Js(0.69444), Js(0.11809), Js(0.0), Js(0.47222)]),'64':Js([Js(0.0), Js(0.69444), Js(0.07555), Js(0.0), Js(0.66667)]),'65':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'66':Js([Js(0.0), Js(0.69444), Js(0.08293), Js(0.0), Js(0.66667)]),'67':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.63889)]),'68':Js([Js(0.0), Js(0.69444), Js(0.07555), Js(0.0), Js(0.72223)]),'69':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.59722)]),'70':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.56945)]),'71':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.66667)]),'72':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.70834)]),'73':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.27778)]),'74':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.47222)]),'75':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.69445)]),'76':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.54167)]),'77':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.875)]),'78':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.70834)]),'79':Js([Js(0.0), Js(0.69444), Js(0.07555), Js(0.0), Js(0.73611)]),'80':Js([Js(0.0), Js(0.69444), Js(0.08293), Js(0.0), Js(0.63889)]),'81':Js([Js(0.125), Js(0.69444), Js(0.07555), Js(0.0), Js(0.73611)]),'82':Js([Js(0.0), Js(0.69444), Js(0.08293), Js(0.0), Js(0.64584)]),'83':Js([Js(0.0), Js(0.69444), Js(0.09205), Js(0.0), Js(0.55556)]),'84':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.68056)]),'85':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.6875)]),'86':Js([Js(0.0), Js(0.69444), Js(0.1615), Js(0.0), Js(0.66667)]),'87':Js([Js(0.0), Js(0.69444), Js(0.1615), Js(0.0), Js(0.94445)]),'88':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.66667)]),'89':Js([Js(0.0), Js(0.69444), Js(0.17261), Js(0.0), Js(0.66667)]),'90':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.61111)]),'91':Js([Js(0.25), Js(0.75), Js(0.15942), Js(0.0), Js(0.28889)]),'93':Js([Js(0.25), Js(0.75), Js(0.08719), Js(0.0), Js(0.28889)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0799), Js(0.0), Js(0.5)]),'95':Js([Js(0.35), Js(0.09444), Js(0.08616), Js(0.0), Js(0.5)]),'97':Js([Js(0.0), Js(0.44444), Js(0.00981), Js(0.0), Js(0.48056)]),'98':Js([Js(0.0), Js(0.69444), Js(0.03057), Js(0.0), Js(0.51667)]),'99':Js([Js(0.0), Js(0.44444), Js(0.08336), Js(0.0), Js(0.44445)]),'100':Js([Js(0.0), Js(0.69444), Js(0.09483), Js(0.0), Js(0.51667)]),'101':Js([Js(0.0), Js(0.44444), Js(0.06778), Js(0.0), Js(0.44445)]),'102':Js([Js(0.0), Js(0.69444), Js(0.21705), Js(0.0), Js(0.30556)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.10836), Js(0.0), Js(0.5)]),'104':Js([Js(0.0), Js(0.69444), Js(0.01778), Js(0.0), Js(0.51667)]),'105':Js([Js(0.0), Js(0.67937), Js(0.09718), Js(0.0), Js(0.23889)]),'106':Js([Js(0.19444), Js(0.67937), Js(0.09162), Js(0.0), Js(0.26667)]),'107':Js([Js(0.0), Js(0.69444), Js(0.08336), Js(0.0), Js(0.48889)]),'108':Js([Js(0.0), Js(0.69444), Js(0.09483), Js(0.0), Js(0.23889)]),'109':Js([Js(0.0), Js(0.44444), Js(0.01778), Js(0.0), Js(0.79445)]),'110':Js([Js(0.0), Js(0.44444), Js(0.01778), Js(0.0), Js(0.51667)]),'111':Js([Js(0.0), Js(0.44444), Js(0.06613), Js(0.0), Js(0.5)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.0389), Js(0.0), Js(0.51667)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.04169), Js(0.0), Js(0.51667)]),'114':Js([Js(0.0), Js(0.44444), Js(0.10836), Js(0.0), Js(0.34167)]),'115':Js([Js(0.0), Js(0.44444), Js(0.0778), Js(0.0), Js(0.38333)]),'116':Js([Js(0.0), Js(0.57143), Js(0.07225), Js(0.0), Js(0.36111)]),'117':Js([Js(0.0), Js(0.44444), Js(0.04169), Js(0.0), Js(0.51667)]),'118':Js([Js(0.0), Js(0.44444), Js(0.10836), Js(0.0), Js(0.46111)]),'119':Js([Js(0.0), Js(0.44444), Js(0.10836), Js(0.0), Js(0.68334)]),'120':Js([Js(0.0), Js(0.44444), Js(0.09169), Js(0.0), Js(0.46111)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.10836), Js(0.0), Js(0.46111)]),'122':Js([Js(0.0), Js(0.44444), Js(0.08752), Js(0.0), Js(0.43472)]),'126':Js([Js(0.35), Js(0.32659), Js(0.08826), Js(0.0), Js(0.5)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'168':Js([Js(0.0), Js(0.67937), Js(0.06385), Js(0.0), Js(0.5)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73752)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.44445)]),'305':Js([Js(0.0), Js(0.44444), Js(0.04169), Js(0.0), Js(0.23889)]),'567':Js([Js(0.19444), Js(0.44444), Js(0.04169), Js(0.0), Js(0.26667)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0799), Js(0.0), Js(0.5)]),'711':Js([Js(0.0), Js(0.63194), Js(0.08432), Js(0.0), Js(0.5)]),'713':Js([Js(0.0), Js(0.60889), Js(0.08776), Js(0.0), Js(0.5)]),'714':Js([Js(0.0), Js(0.69444), Js(0.09205), Js(0.0), Js(0.5)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'728':Js([Js(0.0), Js(0.69444), Js(0.09483), Js(0.0), Js(0.5)]),'729':Js([Js(0.0), Js(0.67937), Js(0.07774), Js(0.0), Js(0.27778)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73752)]),'732':Js([Js(0.0), Js(0.67659), Js(0.08826), Js(0.0), Js(0.5)]),'733':Js([Js(0.0), Js(0.69444), Js(0.09205), Js(0.0), Js(0.5)]),'915':Js([Js(0.0), Js(0.69444), Js(0.13372), Js(0.0), Js(0.54167)]),'916':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83334)]),'920':Js([Js(0.0), Js(0.69444), Js(0.07555), Js(0.0), Js(0.77778)]),'923':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'926':Js([Js(0.0), Js(0.69444), Js(0.12816), Js(0.0), Js(0.66667)]),'928':Js([Js(0.0), Js(0.69444), Js(0.08094), Js(0.0), Js(0.70834)]),'931':Js([Js(0.0), Js(0.69444), Js(0.11983), Js(0.0), Js(0.72222)]),'933':Js([Js(0.0), Js(0.69444), Js(0.09031), Js(0.0), Js(0.77778)]),'934':Js([Js(0.0), Js(0.69444), Js(0.04603), Js(0.0), Js(0.72222)]),'936':Js([Js(0.0), Js(0.69444), Js(0.09031), Js(0.0), Js(0.77778)]),'937':Js([Js(0.0), Js(0.69444), Js(0.08293), Js(0.0), Js(0.72222)]),'8211':Js([Js(0.0), Js(0.44444), Js(0.08616), Js(0.0), Js(0.5)]),'8212':Js([Js(0.0), Js(0.44444), Js(0.08616), Js(0.0), Js(1.0)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.07816), Js(0.0), Js(0.27778)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.07816), Js(0.0), Js(0.27778)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.14205), Js(0.0), Js(0.5)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.00316), Js(0.0), Js(0.5)])}),'SansSerif-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'33':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.31945)]),'34':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'35':Js([Js(0.19444), Js(0.69444), Js(0.0), Js(0.0), Js(0.83334)]),'36':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'37':Js([Js(0.05556), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'38':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.75834)]),'39':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'40':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'41':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.38889)]),'42':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'43':Js([Js(0.08333), Js(0.58333), Js(0.0), Js(0.0), Js(0.77778)]),'44':Js([Js(0.125), Js(0.08333), Js(0.0), Js(0.0), Js(0.27778)]),'45':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.33333)]),'46':Js([Js(0.0), Js(0.08333), Js(0.0), Js(0.0), Js(0.27778)]),'47':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.5)]),'48':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'49':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'50':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'51':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'52':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'53':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'54':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'55':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'56':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'57':Js([Js(0.0), Js(0.65556), Js(0.0), Js(0.0), Js(0.5)]),'58':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.27778)]),'59':Js([Js(0.125), Js(0.44444), Js(0.0), Js(0.0), Js(0.27778)]),'61':Js([(-Js(0.13)), Js(0.37), Js(0.0), Js(0.0), Js(0.77778)]),'63':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.47222)]),'64':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'65':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'66':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'67':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'68':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72223)]),'69':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.59722)]),'70':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.56945)]),'71':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'72':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70834)]),'73':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'74':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.47222)]),'75':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.69445)]),'76':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.54167)]),'77':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.875)]),'78':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70834)]),'79':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.73611)]),'80':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.63889)]),'81':Js([Js(0.125), Js(0.69444), Js(0.0), Js(0.0), Js(0.73611)]),'82':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.64584)]),'83':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.55556)]),'84':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.68056)]),'85':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.6875)]),'86':Js([Js(0.0), Js(0.69444), Js(0.01389), Js(0.0), Js(0.66667)]),'87':Js([Js(0.0), Js(0.69444), Js(0.01389), Js(0.0), Js(0.94445)]),'88':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'89':Js([Js(0.0), Js(0.69444), Js(0.025), Js(0.0), Js(0.66667)]),'90':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'91':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.28889)]),'93':Js([Js(0.25), Js(0.75), Js(0.0), Js(0.0), Js(0.28889)]),'94':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'95':Js([Js(0.35), Js(0.09444), Js(0.02778), Js(0.0), Js(0.5)]),'97':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.48056)]),'98':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51667)]),'99':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.44445)]),'100':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51667)]),'101':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.44445)]),'102':Js([Js(0.0), Js(0.69444), Js(0.06944), Js(0.0), Js(0.30556)]),'103':Js([Js(0.19444), Js(0.44444), Js(0.01389), Js(0.0), Js(0.5)]),'104':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.51667)]),'105':Js([Js(0.0), Js(0.67937), Js(0.0), Js(0.0), Js(0.23889)]),'106':Js([Js(0.19444), Js(0.67937), Js(0.0), Js(0.0), Js(0.26667)]),'107':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.48889)]),'108':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.23889)]),'109':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.79445)]),'110':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51667)]),'111':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.5)]),'112':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.51667)]),'113':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.51667)]),'114':Js([Js(0.0), Js(0.44444), Js(0.01389), Js(0.0), Js(0.34167)]),'115':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.38333)]),'116':Js([Js(0.0), Js(0.57143), Js(0.0), Js(0.0), Js(0.36111)]),'117':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.51667)]),'118':Js([Js(0.0), Js(0.44444), Js(0.01389), Js(0.0), Js(0.46111)]),'119':Js([Js(0.0), Js(0.44444), Js(0.01389), Js(0.0), Js(0.68334)]),'120':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.46111)]),'121':Js([Js(0.19444), Js(0.44444), Js(0.01389), Js(0.0), Js(0.46111)]),'122':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.43472)]),'126':Js([Js(0.35), Js(0.32659), Js(0.0), Js(0.0), Js(0.5)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'168':Js([Js(0.0), Js(0.67937), Js(0.0), Js(0.0), Js(0.5)]),'176':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'184':Js([Js(0.17014), Js(0.0), Js(0.0), Js(0.0), Js(0.44445)]),'305':Js([Js(0.0), Js(0.44444), Js(0.0), Js(0.0), Js(0.23889)]),'567':Js([Js(0.19444), Js(0.44444), Js(0.0), Js(0.0), Js(0.26667)]),'710':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'711':Js([Js(0.0), Js(0.63194), Js(0.0), Js(0.0), Js(0.5)]),'713':Js([Js(0.0), Js(0.60889), Js(0.0), Js(0.0), Js(0.5)]),'714':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'715':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'728':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'729':Js([Js(0.0), Js(0.67937), Js(0.0), Js(0.0), Js(0.27778)]),'730':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'732':Js([Js(0.0), Js(0.67659), Js(0.0), Js(0.0), Js(0.5)]),'733':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'915':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.54167)]),'916':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.83334)]),'920':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'923':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.61111)]),'926':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.66667)]),'928':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.70834)]),'931':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'933':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'934':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'936':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.77778)]),'937':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.72222)]),'8211':Js([Js(0.0), Js(0.44444), Js(0.02778), Js(0.0), Js(0.5)]),'8212':Js([Js(0.0), Js(0.44444), Js(0.02778), Js(0.0), Js(1.0)]),'8216':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8217':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.27778)]),'8220':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)]),'8221':Js([Js(0.0), Js(0.69444), Js(0.0), Js(0.0), Js(0.5)])}),'Script-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'65':Js([Js(0.0), Js(0.7), Js(0.22925), Js(0.0), Js(0.80253)]),'66':Js([Js(0.0), Js(0.7), Js(0.04087), Js(0.0), Js(0.90757)]),'67':Js([Js(0.0), Js(0.7), Js(0.1689), Js(0.0), Js(0.66619)]),'68':Js([Js(0.0), Js(0.7), Js(0.09371), Js(0.0), Js(0.77443)]),'69':Js([Js(0.0), Js(0.7), Js(0.18583), Js(0.0), Js(0.56162)]),'70':Js([Js(0.0), Js(0.7), Js(0.13634), Js(0.0), Js(0.89544)]),'71':Js([Js(0.0), Js(0.7), Js(0.17322), Js(0.0), Js(0.60961)]),'72':Js([Js(0.0), Js(0.7), Js(0.29694), Js(0.0), Js(0.96919)]),'73':Js([Js(0.0), Js(0.7), Js(0.19189), Js(0.0), Js(0.80907)]),'74':Js([Js(0.27778), Js(0.7), Js(0.19189), Js(0.0), Js(1.05159)]),'75':Js([Js(0.0), Js(0.7), Js(0.31259), Js(0.0), Js(0.91364)]),'76':Js([Js(0.0), Js(0.7), Js(0.19189), Js(0.0), Js(0.87373)]),'77':Js([Js(0.0), Js(0.7), Js(0.15981), Js(0.0), Js(1.08031)]),'78':Js([Js(0.0), Js(0.7), Js(0.3525), Js(0.0), Js(0.9015)]),'79':Js([Js(0.0), Js(0.7), Js(0.08078), Js(0.0), Js(0.73787)]),'80':Js([Js(0.0), Js(0.7), Js(0.08078), Js(0.0), Js(1.01262)]),'81':Js([Js(0.0), Js(0.7), Js(0.03305), Js(0.0), Js(0.88282)]),'82':Js([Js(0.0), Js(0.7), Js(0.06259), Js(0.0), Js(0.85)]),'83':Js([Js(0.0), Js(0.7), Js(0.19189), Js(0.0), Js(0.86767)]),'84':Js([Js(0.0), Js(0.7), Js(0.29087), Js(0.0), Js(0.74697)]),'85':Js([Js(0.0), Js(0.7), Js(0.25815), Js(0.0), Js(0.79996)]),'86':Js([Js(0.0), Js(0.7), Js(0.27523), Js(0.0), Js(0.62204)]),'87':Js([Js(0.0), Js(0.7), Js(0.27523), Js(0.0), Js(0.80532)]),'88':Js([Js(0.0), Js(0.7), Js(0.26006), Js(0.0), Js(0.94445)]),'89':Js([Js(0.0), Js(0.7), Js(0.2939), Js(0.0), Js(0.70961)]),'90':Js([Js(0.0), Js(0.7), Js(0.24037), Js(0.0), Js(0.8212)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)])}),'Size1-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'40':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.45834)]),'41':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.45834)]),'47':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.57778)]),'91':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.41667)]),'92':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.57778)]),'93':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.41667)]),'123':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.58334)]),'125':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.58334)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'710':Js([Js(0.0), Js(0.72222), Js(0.0), Js(0.0), Js(0.55556)]),'732':Js([Js(0.0), Js(0.72222), Js(0.0), Js(0.0), Js(0.55556)]),'770':Js([Js(0.0), Js(0.72222), Js(0.0), Js(0.0), Js(0.55556)]),'771':Js([Js(0.0), Js(0.72222), Js(0.0), Js(0.0), Js(0.55556)]),'8214':Js([(-Js(0.00099)), Js(0.601), Js(0.0), Js(0.0), Js(0.77778)]),'8593':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.66667)]),'8595':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.66667)]),'8657':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.77778)]),'8659':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.77778)]),'8719':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.94445)]),'8720':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.94445)]),'8721':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(1.05556)]),'8730':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(1.0)]),'8739':Js([(-Js(0.00599)), Js(0.606), Js(0.0), Js(0.0), Js(0.33333)]),'8741':Js([(-Js(0.00599)), Js(0.606), Js(0.0), Js(0.0), Js(0.55556)]),'8747':Js([Js(0.30612), Js(0.805), Js(0.19445), Js(0.0), Js(0.47222)]),'8748':Js([Js(0.306), Js(0.805), Js(0.19445), Js(0.0), Js(0.47222)]),'8749':Js([Js(0.306), Js(0.805), Js(0.19445), Js(0.0), Js(0.47222)]),'8750':Js([Js(0.30612), Js(0.805), Js(0.19445), Js(0.0), Js(0.47222)]),'8896':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'8897':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'8898':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'8899':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'8968':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'8969':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'8970':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'8971':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'9168':Js([(-Js(0.00099)), Js(0.601), Js(0.0), Js(0.0), Js(0.66667)]),'10216':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'10217':Js([Js(0.35001), Js(0.85), Js(0.0), Js(0.0), Js(0.47222)]),'10752':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(1.11111)]),'10753':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(1.11111)]),'10754':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(1.11111)]),'10756':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)]),'10758':Js([Js(0.25001), Js(0.75), Js(0.0), Js(0.0), Js(0.83334)])}),'Size2-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'40':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.59722)]),'41':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.59722)]),'47':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.81111)]),'91':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.47222)]),'92':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.81111)]),'93':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.47222)]),'123':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.66667)]),'125':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.66667)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'710':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.0)]),'732':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.0)]),'770':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.0)]),'771':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.0)]),'8719':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.27778)]),'8720':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.27778)]),'8721':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.44445)]),'8730':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(1.0)]),'8747':Js([Js(0.86225), Js(1.36), Js(0.44445), Js(0.0), Js(0.55556)]),'8748':Js([Js(0.862), Js(1.36), Js(0.44445), Js(0.0), Js(0.55556)]),'8749':Js([Js(0.862), Js(1.36), Js(0.44445), Js(0.0), Js(0.55556)]),'8750':Js([Js(0.86225), Js(1.36), Js(0.44445), Js(0.0), Js(0.55556)]),'8896':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'8897':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'8898':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'8899':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'8968':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.52778)]),'8969':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.52778)]),'8970':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.52778)]),'8971':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.52778)]),'10216':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.61111)]),'10217':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.61111)]),'10752':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.51112)]),'10753':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.51112)]),'10754':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.51112)]),'10756':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)]),'10758':Js([Js(0.55001), Js(1.05), Js(0.0), Js(0.0), Js(1.11111)])}),'Size3-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'40':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.73611)]),'41':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.73611)]),'47':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(1.04445)]),'91':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.52778)]),'92':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(1.04445)]),'93':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.52778)]),'123':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.75)]),'125':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.75)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'710':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.44445)]),'732':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.44445)]),'770':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.44445)]),'771':Js([Js(0.0), Js(0.75), Js(0.0), Js(0.0), Js(1.44445)]),'8730':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(1.0)]),'8968':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.58334)]),'8969':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.58334)]),'8970':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.58334)]),'8971':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.58334)]),'10216':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.75)]),'10217':Js([Js(0.95003), Js(1.45), Js(0.0), Js(0.0), Js(0.75)])}),'Size4-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'40':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.79167)]),'41':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.79167)]),'47':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(1.27778)]),'91':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.58334)]),'92':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(1.27778)]),'93':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.58334)]),'123':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.80556)]),'125':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.80556)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.25)]),'710':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(1.8889)]),'732':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(1.8889)]),'770':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(1.8889)]),'771':Js([Js(0.0), Js(0.825), Js(0.0), Js(0.0), Js(1.8889)]),'8730':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(1.0)]),'8968':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.63889)]),'8969':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.63889)]),'8970':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.63889)]),'8971':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.63889)]),'9115':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.875)]),'9116':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.875)]),'9117':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.875)]),'9118':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.875)]),'9119':Js([Js(1e-05), Js(0.6), Js(0.0), Js(0.0), Js(0.875)]),'9120':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.875)]),'9121':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.66667)]),'9122':Js([(-Js(0.00099)), Js(0.601), Js(0.0), Js(0.0), Js(0.66667)]),'9123':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.66667)]),'9124':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.66667)]),'9125':Js([(-Js(0.00099)), Js(0.601), Js(0.0), Js(0.0), Js(0.66667)]),'9126':Js([Js(0.64502), Js(1.155), Js(0.0), Js(0.0), Js(0.66667)]),'9127':Js([Js(1e-05), Js(0.9), Js(0.0), Js(0.0), Js(0.88889)]),'9128':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.88889)]),'9129':Js([Js(0.90001), Js(0.0), Js(0.0), Js(0.0), Js(0.88889)]),'9130':Js([Js(0.0), Js(0.3), Js(0.0), Js(0.0), Js(0.88889)]),'9131':Js([Js(1e-05), Js(0.9), Js(0.0), Js(0.0), Js(0.88889)]),'9132':Js([Js(0.65002), Js(1.15), Js(0.0), Js(0.0), Js(0.88889)]),'9133':Js([Js(0.90001), Js(0.0), Js(0.0), Js(0.0), Js(0.88889)]),'9143':Js([Js(0.88502), Js(0.915), Js(0.0), Js(0.0), Js(1.05556)]),'10216':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.80556)]),'10217':Js([Js(1.25003), Js(1.75), Js(0.0), Js(0.0), Js(0.80556)]),'57344':Js([(-Js(0.00499)), Js(0.605), Js(0.0), Js(0.0), Js(1.05556)]),'57345':Js([(-Js(0.00499)), Js(0.605), Js(0.0), Js(0.0), Js(1.05556)]),'57680':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(0.45)]),'57681':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(0.45)]),'57682':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(0.45)]),'57683':Js([Js(0.0), Js(0.12), Js(0.0), Js(0.0), Js(0.45)])}),'Typewriter-Regular':Js({'32':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.525)]),'33':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'34':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'35':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'36':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'37':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'38':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'39':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'40':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'41':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'42':Js([Js(0.0), Js(0.52083), Js(0.0), Js(0.0), Js(0.525)]),'43':Js([(-Js(0.08056)), Js(0.53055), Js(0.0), Js(0.0), Js(0.525)]),'44':Js([Js(0.13889), Js(0.125), Js(0.0), Js(0.0), Js(0.525)]),'45':Js([(-Js(0.08056)), Js(0.53055), Js(0.0), Js(0.0), Js(0.525)]),'46':Js([Js(0.0), Js(0.125), Js(0.0), Js(0.0), Js(0.525)]),'47':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'48':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'49':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'50':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'51':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'52':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'53':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'54':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'55':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'56':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'57':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'58':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'59':Js([Js(0.13889), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'60':Js([(-Js(0.05556)), Js(0.55556), Js(0.0), Js(0.0), Js(0.525)]),'61':Js([(-Js(0.19549)), Js(0.41562), Js(0.0), Js(0.0), Js(0.525)]),'62':Js([(-Js(0.05556)), Js(0.55556), Js(0.0), Js(0.0), Js(0.525)]),'63':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'64':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'65':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'66':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'67':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'68':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'69':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'70':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'71':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'72':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'73':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'74':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'75':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'76':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'77':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'78':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'79':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'80':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'81':Js([Js(0.13889), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'82':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'83':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'84':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'85':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'86':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'87':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'88':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'89':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'90':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'91':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'92':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'93':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'94':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'95':Js([Js(0.09514), Js(0.0), Js(0.0), Js(0.0), Js(0.525)]),'96':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'97':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'98':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'99':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'100':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'101':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'102':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'103':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'104':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'105':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'106':Js([Js(0.22222), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'107':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'108':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'109':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'110':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'111':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'112':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'113':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'114':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'115':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'116':Js([Js(0.0), Js(0.55358), Js(0.0), Js(0.0), Js(0.525)]),'117':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'118':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'119':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'120':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'121':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'122':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'123':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'124':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'125':Js([Js(0.08333), Js(0.69444), Js(0.0), Js(0.0), Js(0.525)]),'126':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'127':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'160':Js([Js(0.0), Js(0.0), Js(0.0), Js(0.0), Js(0.525)]),'176':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'184':Js([Js(0.19445), Js(0.0), Js(0.0), Js(0.0), Js(0.525)]),'305':Js([Js(0.0), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'567':Js([Js(0.22222), Js(0.43056), Js(0.0), Js(0.0), Js(0.525)]),'711':Js([Js(0.0), Js(0.56597), Js(0.0), Js(0.0), Js(0.525)]),'713':Js([Js(0.0), Js(0.56555), Js(0.0), Js(0.0), Js(0.525)]),'714':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'715':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'728':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'730':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'770':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'771':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'776':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'915':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'916':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'920':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'923':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'926':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'928':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'931':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'933':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'934':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'936':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'937':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'8216':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'8217':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'8242':Js([Js(0.0), Js(0.61111), Js(0.0), Js(0.0), Js(0.525)]),'9251':Js([Js(0.11111), Js(0.21944), Js(0.0), Js(0.0), Js(0.525)])})})) + pass + var.put('sigmasAndXis', Js({'slant':Js([Js(0.25), Js(0.25), Js(0.25)]),'space':Js([Js(0.0), Js(0.0), Js(0.0)]),'stretch':Js([Js(0.0), Js(0.0), Js(0.0)]),'shrink':Js([Js(0.0), Js(0.0), Js(0.0)]),'xHeight':Js([Js(0.431), Js(0.431), Js(0.431)]),'quad':Js([Js(1.0), Js(1.171), Js(1.472)]),'extraSpace':Js([Js(0.0), Js(0.0), Js(0.0)]),'num1':Js([Js(0.677), Js(0.732), Js(0.925)]),'num2':Js([Js(0.394), Js(0.384), Js(0.387)]),'num3':Js([Js(0.444), Js(0.471), Js(0.504)]),'denom1':Js([Js(0.686), Js(0.752), Js(1.025)]),'denom2':Js([Js(0.345), Js(0.344), Js(0.532)]),'sup1':Js([Js(0.413), Js(0.503), Js(0.504)]),'sup2':Js([Js(0.363), Js(0.431), Js(0.404)]),'sup3':Js([Js(0.289), Js(0.286), Js(0.294)]),'sub1':Js([Js(0.15), Js(0.143), Js(0.2)]),'sub2':Js([Js(0.247), Js(0.286), Js(0.4)]),'supDrop':Js([Js(0.386), Js(0.353), Js(0.494)]),'subDrop':Js([Js(0.05), Js(0.071), Js(0.1)]),'delim1':Js([Js(2.39), Js(1.7), Js(1.98)]),'delim2':Js([Js(1.01), Js(1.157), Js(1.42)]),'axisHeight':Js([Js(0.25), Js(0.25), Js(0.25)]),'defaultRuleThickness':Js([Js(0.04), Js(0.049), Js(0.049)]),'bigOpSpacing1':Js([Js(0.111), Js(0.111), Js(0.111)]),'bigOpSpacing2':Js([Js(0.166), Js(0.166), Js(0.166)]),'bigOpSpacing3':Js([Js(0.2), Js(0.2), Js(0.2)]),'bigOpSpacing4':Js([Js(0.6), Js(0.611), Js(0.611)]),'bigOpSpacing5':Js([Js(0.1), Js(0.143), Js(0.143)]),'sqrtRuleThickness':Js([Js(0.04), Js(0.04), Js(0.04)]),'ptPerEm':Js([Js(10.0), Js(10.0), Js(10.0)]),'doubleRuleSep':Js([Js(0.2), Js(0.2), Js(0.2)]),'arrayRuleWidth':Js([Js(0.04), Js(0.04), Js(0.04)]),'fboxsep':Js([Js(0.3), Js(0.3), Js(0.3)]),'fboxrule':Js([Js(0.04), Js(0.04), Js(0.04)])})) var.put('extraCharacterMap', Js({'Å':Js('A'),'Ç':Js('C'),'Ð':Js('D'),'Þ':Js('o'),'å':Js('a'),'ç':Js('c'),'ð':Js('d'),'þ':Js('o'),'А':Js('A'),'Б':Js('B'),'В':Js('B'),'Г':Js('F'),'Д':Js('A'),'Е':Js('E'),'Ж':Js('K'),'З':Js('3'),'И':Js('N'),'Й':Js('N'),'К':Js('K'),'Л':Js('N'),'М':Js('M'),'Н':Js('H'),'О':Js('O'),'П':Js('N'),'Р':Js('P'),'С':Js('C'),'Т':Js('T'),'У':Js('y'),'Ф':Js('O'),'Х':Js('X'),'Ц':Js('U'),'Ч':Js('h'),'Ш':Js('W'),'Щ':Js('W'),'Ъ':Js('B'),'Ы':Js('X'),'Ь':Js('B'),'Э':Js('3'),'Ю':Js('X'),'Я':Js('R'),'а':Js('a'),'б':Js('b'),'в':Js('a'),'г':Js('r'),'д':Js('y'),'е':Js('e'),'ж':Js('m'),'з':Js('e'),'и':Js('n'),'й':Js('n'),'к':Js('n'),'л':Js('n'),'м':Js('m'),'н':Js('n'),'о':Js('o'),'п':Js('n'),'р':Js('p'),'с':Js('c'),'т':Js('o'),'у':Js('y'),'ф':Js('b'),'х':Js('x'),'ц':Js('n'),'ч':Js('n'),'ш':Js('w'),'щ':Js('w'),'ъ':Js('a'),'ы':Js('m'),'ь':Js('a'),'э':Js('e'),'ю':Js('m'),'я':Js('r')})) pass pass var.put('fontMetricsBySizeIndex', Js({})) pass + pass var.put('ATOMS', Js({'bin':Js(1.0),'close':Js(1.0),'inner':Js(1.0),'open':Js(1.0),'punct':Js(1.0),'rel':Js(1.0)})) var.put('NON_ATOMS', Js({'accent-token':Js(1.0),'mathord':Js(1.0),'op-token':Js(1.0),'spacing':Js(1.0),'textord':Js(1.0)})) var.put('symbols', Js({'math':Js({}),'text':Js({})})) var.put('src_symbols', var.get('symbols')) pass - var.put('symbols_math', Js('math')) + var.put('math', Js('math')) var.put('symbols_text', Js('text')) var.put('main', Js('main')) var.put('ams', Js('ams')) - var.put('symbols_accent', Js('accent-token')) + var.put('accent', Js('accent-token')) var.put('bin', Js('bin')) var.put('symbols_close', Js('close')) - var.put('symbols_inner', Js('inner')) + var.put('inner', Js('inner')) var.put('mathord', Js('mathord')) var.put('op', Js('op-token')) var.put('symbols_open', Js('open')) var.put('punct', Js('punct')) var.put('rel', Js('rel')) - var.put('symbols_spacing', Js('spacing')) - var.put('symbols_textord', Js('textord')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≡'), Js('\\equiv'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≺'), Js('\\prec'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≻'), Js('\\succ'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('∼'), Js('\\sim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊥'), Js('\\perp')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⪯'), Js('\\preceq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⪰'), Js('\\succeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≃'), Js('\\simeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('∣'), Js('\\mid'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≪'), Js('\\ll'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≫'), Js('\\gg'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≍'), Js('\\asymp'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('∥'), Js('\\parallel')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⋈'), Js('\\bowtie'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⌣'), Js('\\smile'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊑'), Js('\\sqsubseteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊒'), Js('\\sqsupseteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≐'), Js('\\doteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⌢'), Js('\\frown'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('∋'), Js('\\ni'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('∝'), Js('\\propto'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊢'), Js('\\vdash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊣'), Js('\\dashv'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('∋'), Js('\\owns')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('punct'), Js('.'), Js('\\ldotp')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('punct'), Js('⋅'), Js('\\cdotp')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('#'), Js('\\#')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('#'), Js('\\#')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('&'), Js('\\&')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('&'), Js('\\&')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('ℵ'), Js('\\aleph'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∀'), Js('\\forall'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('ℏ'), Js('\\hbar'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∃'), Js('\\exists'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∇'), Js('\\nabla'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('♭'), Js('\\flat'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('ℓ'), Js('\\ell'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('♮'), Js('\\natural'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('♣'), Js('\\clubsuit'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('℘'), Js('\\wp'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('♯'), Js('\\sharp'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('♢'), Js('\\diamondsuit'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('ℜ'), Js('\\Re'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('♡'), Js('\\heartsuit'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('ℑ'), Js('\\Im'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('♠'), Js('\\spadesuit'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('§'), Js('\\S'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('¶'), Js('\\P'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('†'), Js('\\dag')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('†'), Js('\\dag')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('†'), Js('\\textdagger')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('‡'), Js('\\ddag')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('‡'), Js('\\ddag')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('‡'), Js('\\textdaggerdbl')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('⎱'), Js('\\rmoustache'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('⎰'), Js('\\lmoustache'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('⟯'), Js('\\rgroup'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('⟮'), Js('\\lgroup'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∓'), Js('\\mp'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⊖'), Js('\\ominus'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⊎'), Js('\\uplus'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⊓'), Js('\\sqcap'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∗'), Js('\\ast')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⊔'), Js('\\sqcup'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('◯'), Js('\\bigcirc')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∙'), Js('\\bullet')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('‡'), Js('\\ddagger')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('≀'), Js('\\wr'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⨿'), Js('\\amalg')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('&'), Js('\\And')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⟵'), Js('\\longleftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⇐'), Js('\\Leftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⟸'), Js('\\Longleftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⟶'), Js('\\longrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⇒'), Js('\\Rightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⟹'), Js('\\Longrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↔'), Js('\\leftrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⟷'), Js('\\longleftrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⇔'), Js('\\Leftrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⟺'), Js('\\Longleftrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↦'), Js('\\mapsto'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⟼'), Js('\\longmapsto'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↗'), Js('\\nearrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↩'), Js('\\hookleftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↪'), Js('\\hookrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↘'), Js('\\searrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↼'), Js('\\leftharpoonup'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⇀'), Js('\\rightharpoonup'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↙'), Js('\\swarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↽'), Js('\\leftharpoondown'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⇁'), Js('\\rightharpoondown'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↖'), Js('\\nwarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⇌'), Js('\\rightleftharpoons'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≮'), Js('\\nless'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue010'), Js('\\@nleqslant')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue011'), Js('\\@nleqq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪇'), Js('\\lneq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≨'), Js('\\lneqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue00c'), Js('\\@lvertneqq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋦'), Js('\\lnsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪉'), Js('\\lnapprox'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊀'), Js('\\nprec'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋠'), Js('\\npreceq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋨'), Js('\\precnsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪹'), Js('\\precnapprox'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≁'), Js('\\nsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue006'), Js('\\@nshortmid')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∤'), Js('\\nmid'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊬'), Js('\\nvdash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊭'), Js('\\nvDash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋪'), Js('\\ntriangleleft')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋬'), Js('\\ntrianglelefteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊊'), Js('\\subsetneq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue01a'), Js('\\@varsubsetneq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⫋'), Js('\\subsetneqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue017'), Js('\\@varsubsetneqq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≯'), Js('\\ngtr'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue00f'), Js('\\@ngeqslant')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue00e'), Js('\\@ngeqq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪈'), Js('\\gneq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≩'), Js('\\gneqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue00d'), Js('\\@gvertneqq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋧'), Js('\\gnsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪊'), Js('\\gnapprox'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊁'), Js('\\nsucc'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋡'), Js('\\nsucceq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋩'), Js('\\succnsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪺'), Js('\\succnapprox'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≆'), Js('\\ncong'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue007'), Js('\\@nshortparallel')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∦'), Js('\\nparallel'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊯'), Js('\\nVDash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋫'), Js('\\ntriangleright')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋭'), Js('\\ntrianglerighteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue018'), Js('\\@nsupseteqq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊋'), Js('\\supsetneq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue01b'), Js('\\@varsupsetneq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⫌'), Js('\\supsetneqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue019'), Js('\\@varsupsetneqq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊮'), Js('\\nVdash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪵'), Js('\\precneqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪶'), Js('\\succneqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('\ue016'), Js('\\@nsubseteqq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊴'), Js('\\unlhd')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊵'), Js('\\unrhd')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↚'), Js('\\nleftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↛'), Js('\\nrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇍'), Js('\\nLeftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇏'), Js('\\nRightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↮'), Js('\\nleftrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇎'), Js('\\nLeftrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('△'), Js('\\vartriangle')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('ℏ'), Js('\\hslash')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('▽'), Js('\\triangledown')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('◊'), Js('\\lozenge')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('Ⓢ'), Js('\\circledS')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('®'), Js('\\circledR')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('ams'), var.get('symbols_textord'), Js('®'), Js('\\circledR')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('∡'), Js('\\measuredangle'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('∄'), Js('\\nexists')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('℧'), Js('\\mho')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('Ⅎ'), Js('\\Finv'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('⅁'), Js('\\Game'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('‵'), Js('\\backprime')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('▲'), Js('\\blacktriangle')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('▼'), Js('\\blacktriangledown')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('■'), Js('\\blacksquare')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('⧫'), Js('\\blacklozenge')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('★'), Js('\\bigstar')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('∢'), Js('\\sphericalangle'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('∁'), Js('\\complement'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('ð'), Js('\\eth'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('╱'), Js('\\diagup')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('╲'), Js('\\diagdown')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('□'), Js('\\square')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('□'), Js('\\Box')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('◊'), Js('\\Diamond')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('¥'), Js('\\yen'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('ams'), var.get('symbols_textord'), Js('¥'), Js('\\yen'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('✓'), Js('\\checkmark'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('ams'), var.get('symbols_textord'), Js('✓'), Js('\\checkmark')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('ℶ'), Js('\\beth'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('ℸ'), Js('\\daleth'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('ℷ'), Js('\\gimel'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('ϝ'), Js('\\digamma')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('ϰ'), Js('\\varkappa')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_open'), Js('┌'), Js('\\ulcorner'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_close'), Js('┐'), Js('\\urcorner'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_open'), Js('└'), Js('\\llcorner'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_close'), Js('┘'), Js('\\lrcorner'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≦'), Js('\\leqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⩽'), Js('\\leqslant'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪕'), Js('\\eqslantless'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≲'), Js('\\lesssim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪅'), Js('\\lessapprox'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≊'), Js('\\approxeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋖'), Js('\\lessdot')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋘'), Js('\\lll'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≶'), Js('\\lessgtr'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋚'), Js('\\lesseqgtr'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪋'), Js('\\lesseqqgtr'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≑'), Js('\\doteqdot')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≓'), Js('\\risingdotseq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≒'), Js('\\fallingdotseq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∽'), Js('\\backsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋍'), Js('\\backsimeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⫅'), Js('\\subseteqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋐'), Js('\\Subset'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊏'), Js('\\sqsubset'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≼'), Js('\\preccurlyeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋞'), Js('\\curlyeqprec'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≾'), Js('\\precsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪷'), Js('\\precapprox'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊲'), Js('\\vartriangleleft')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊴'), Js('\\trianglelefteq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊨'), Js('\\vDash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊪'), Js('\\Vvdash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⌣'), Js('\\smallsmile')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⌢'), Js('\\smallfrown')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≏'), Js('\\bumpeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≎'), Js('\\Bumpeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≧'), Js('\\geqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⩾'), Js('\\geqslant'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪖'), Js('\\eqslantgtr'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≳'), Js('\\gtrsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪆'), Js('\\gtrapprox'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋗'), Js('\\gtrdot')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋙'), Js('\\ggg'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≷'), Js('\\gtrless'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋛'), Js('\\gtreqless'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪌'), Js('\\gtreqqless'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≖'), Js('\\eqcirc'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≗'), Js('\\circeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≜'), Js('\\triangleq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∼'), Js('\\thicksim')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≈'), Js('\\thickapprox')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⫆'), Js('\\supseteqq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋑'), Js('\\Supset'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊐'), Js('\\sqsupset'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≽'), Js('\\succcurlyeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋟'), Js('\\curlyeqsucc'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≿'), Js('\\succsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⪸'), Js('\\succapprox'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊳'), Js('\\vartriangleright')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊵'), Js('\\trianglerighteq')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊩'), Js('\\Vdash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∣'), Js('\\shortmid')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∥'), Js('\\shortparallel')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≬'), Js('\\between'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋔'), Js('\\pitchfork'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∝'), Js('\\varpropto')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('◀'), Js('\\blacktriangleleft')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∴'), Js('\\therefore'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∍'), Js('\\backepsilon')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('▶'), Js('\\blacktriangleright')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('∵'), Js('\\because'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋘'), Js('\\llless')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⋙'), Js('\\gggtr')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊲'), Js('\\lhd')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊳'), Js('\\rhd')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≂'), Js('\\eqsim'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⋈'), Js('\\Join')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≑'), Js('\\Doteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('∔'), Js('\\dotplus'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('∖'), Js('\\smallsetminus')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋒'), Js('\\Cap'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋓'), Js('\\Cup'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⩞'), Js('\\doublebarwedge'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊟'), Js('\\boxminus'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊞'), Js('\\boxplus'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋇'), Js('\\divideontimes'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋉'), Js('\\ltimes'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋊'), Js('\\rtimes'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋋'), Js('\\leftthreetimes'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋌'), Js('\\rightthreetimes'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋏'), Js('\\curlywedge'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋎'), Js('\\curlyvee'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊝'), Js('\\circleddash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊛'), Js('\\circledast'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋅'), Js('\\centerdot')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊺'), Js('\\intercal'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋒'), Js('\\doublecap')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⋓'), Js('\\doublecup')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊠'), Js('\\boxtimes'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇢'), Js('\\dashrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇠'), Js('\\dashleftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇇'), Js('\\leftleftarrows'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇆'), Js('\\leftrightarrows'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇚'), Js('\\Lleftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↞'), Js('\\twoheadleftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↢'), Js('\\leftarrowtail'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↫'), Js('\\looparrowleft'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇋'), Js('\\leftrightharpoons'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↶'), Js('\\curvearrowleft'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↺'), Js('\\circlearrowleft'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↰'), Js('\\Lsh'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇈'), Js('\\upuparrows'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↿'), Js('\\upharpoonleft'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇃'), Js('\\downharpoonleft'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊸'), Js('\\multimap'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↭'), Js('\\leftrightsquigarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇉'), Js('\\rightrightarrows'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇄'), Js('\\rightleftarrows'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↠'), Js('\\twoheadrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↣'), Js('\\rightarrowtail'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↬'), Js('\\looparrowright'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↷'), Js('\\curvearrowright'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↻'), Js('\\circlearrowright'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↱'), Js('\\Rsh'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇊'), Js('\\downdownarrows'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↾'), Js('\\upharpoonright'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇂'), Js('\\downharpoonright'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇝'), Js('\\rightsquigarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇝'), Js('\\leadsto')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⇛'), Js('\\Rrightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('↾'), Js('\\restriction')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('‘'), Js('`')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('$'), Js('\\$')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('$'), Js('\\$')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('$'), Js('\\textdollar')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('%'), Js('\\%')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('%'), Js('\\%')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('_'), Js('\\_')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('_'), Js('\\_')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('_'), Js('\\textunderscore')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∠'), Js('\\angle'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∞'), Js('\\infty'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('′'), Js('\\prime')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('△'), Js('\\triangle')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Γ'), Js('\\Gamma'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Δ'), Js('\\Delta'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Θ'), Js('\\Theta'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Λ'), Js('\\Lambda'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Ξ'), Js('\\Xi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Π'), Js('\\Pi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Σ'), Js('\\Sigma'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Υ'), Js('\\Upsilon'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Φ'), Js('\\Phi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Ψ'), Js('\\Psi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Ω'), Js('\\Omega'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('A'), Js('Α')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('B'), Js('Β')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('E'), Js('Ε')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('Z'), Js('Ζ')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('H'), Js('Η')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('I'), Js('Ι')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('K'), Js('Κ')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('M'), Js('Μ')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('N'), Js('Ν')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('O'), Js('Ο')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('P'), Js('Ρ')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('T'), Js('Τ')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('X'), Js('Χ')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('¬'), Js('\\neg'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('¬'), Js('\\lnot')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('⊤'), Js('\\top')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('⊥'), Js('\\bot')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∅'), Js('\\emptyset')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('∅'), Js('\\varnothing')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('α'), Js('\\alpha'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('β'), Js('\\beta'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('γ'), Js('\\gamma'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('δ'), Js('\\delta'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ϵ'), Js('\\epsilon'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ζ'), Js('\\zeta'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('η'), Js('\\eta'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('θ'), Js('\\theta'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ι'), Js('\\iota'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('κ'), Js('\\kappa'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('λ'), Js('\\lambda'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('μ'), Js('\\mu'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ν'), Js('\\nu'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ξ'), Js('\\xi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ο'), Js('\\omicron'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('π'), Js('\\pi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ρ'), Js('\\rho'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('σ'), Js('\\sigma'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('τ'), Js('\\tau'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('υ'), Js('\\upsilon'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ϕ'), Js('\\phi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('χ'), Js('\\chi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ψ'), Js('\\psi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ω'), Js('\\omega'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ε'), Js('\\varepsilon'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ϑ'), Js('\\vartheta'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ϖ'), Js('\\varpi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ϱ'), Js('\\varrho'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ς'), Js('\\varsigma'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('φ'), Js('\\varphi'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∗'), Js('*')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('+'), Js('+')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('−'), Js('-')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⋅'), Js('\\cdot'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∘'), Js('\\circ')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('÷'), Js('\\div'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('±'), Js('\\pm'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('×'), Js('\\times'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∩'), Js('\\cap'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∪'), Js('\\cup'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∖'), Js('\\setminus')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∧'), Js('\\land')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∨'), Js('\\lor')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∧'), Js('\\wedge'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('∨'), Js('\\vee'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('√'), Js('\\surd')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('('), Js('(')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('['), Js('[')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('⟨'), Js('\\langle'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('∣'), Js('\\lvert')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('∥'), Js('\\lVert')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js(')'), Js(')')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js(']'), Js(']')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('?'), Js('?')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('!'), Js('!')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('⟩'), Js('\\rangle'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('∣'), Js('\\rvert')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('∥'), Js('\\rVert')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('='), Js('=')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('<'), Js('<')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('>'), Js('>')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js(':'), Js(':')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('∉'), Js('\\not\\in')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('∉'), Js('\\notin'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≠'), Js('\\ne')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≠'), Js('\\neq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≈'), Js('\\approx'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≅'), Js('\\cong'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≥'), Js('\\ge')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≥'), Js('\\geq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('←'), Js('\\gets')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('>'), Js('\\gt')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('∈'), Js('\\in'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('\ue020'), Js('\\@not')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊂'), Js('\\subset'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊃'), Js('\\supset'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊆'), Js('\\subseteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊇'), Js('\\supseteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊈'), Js('\\nsubseteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('⊉'), Js('\\nsupseteq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⊨'), Js('\\models')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('←'), Js('\\leftarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≤'), Js('\\le')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('≤'), Js('\\leq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('<'), Js('\\lt')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('→'), Js('\\rightarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('→'), Js('\\to')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≱'), Js('\\ngeq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('rel'), Js('≰'), Js('\\nleq'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('\\ ')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('~')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('\\space')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('\\nobreakspace')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('\\ ')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('~')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('\\space')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('\\nobreakspace')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_spacing'), var.get(u"null"), Js('\\nobreak')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_spacing'), var.get(u"null"), Js('\\allowbreak')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('punct'), Js(','), Js(',')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('punct'), Js(';'), Js(';')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊼'), Js('\\barwedge'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊻'), Js('\\veebar'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⊙'), Js('\\odot'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⊕'), Js('\\oplus'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⊗'), Js('\\otimes'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∂'), Js('\\partial'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⊘'), Js('\\oslash'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊚'), Js('\\circledcirc'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('bin'), Js('⊡'), Js('\\boxdot'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('△'), Js('\\bigtriangleup')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('▽'), Js('\\bigtriangledown')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('†'), Js('\\dagger')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⋄'), Js('\\diamond')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('⋆'), Js('\\star')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('◃'), Js('\\triangleleft')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('bin'), Js('▹'), Js('\\triangleright')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('{'), Js('\\{')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('{'), Js('\\{')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('{'), Js('\\textbraceleft')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('}'), Js('\\}')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('}'), Js('\\}')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('}'), Js('\\textbraceright')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('{'), Js('\\lbrace')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('}'), Js('\\rbrace')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('['), Js('\\lbrack')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('['), Js('\\lbrack')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js(']'), Js('\\rbrack')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js(']'), Js('\\rbrack')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('('), Js('\\lparen')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js(')'), Js('\\rparen')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('<'), Js('\\textless')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('>'), Js('\\textgreater')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('⌊'), Js('\\lfloor'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('⌋'), Js('\\rfloor'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_open'), Js('⌈'), Js('\\lceil'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_close'), Js('⌉'), Js('\\rceil'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('\\'), Js('\\backslash')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∣'), Js('|')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∣'), Js('\\vert')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('|'), Js('\\textbar')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∥'), Js('\\|')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('∥'), Js('\\Vert')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('∥'), Js('\\textbardbl')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('~'), Js('\\textasciitilde')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('\\'), Js('\\textbackslash')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('^'), Js('\\textasciicircum')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↑'), Js('\\uparrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⇑'), Js('\\Uparrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↓'), Js('\\downarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⇓'), Js('\\Downarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('↕'), Js('\\updownarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('rel'), Js('⇕'), Js('\\Updownarrow'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∐'), Js('\\coprod')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('⋁'), Js('\\bigvee')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('⋀'), Js('\\bigwedge')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('⨄'), Js('\\biguplus')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('⋂'), Js('\\bigcap')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('⋃'), Js('\\bigcup')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∫'), Js('\\int')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∫'), Js('\\intop')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∬'), Js('\\iint')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∭'), Js('\\iiint')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∏'), Js('\\prod')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∑'), Js('\\sum')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('⨂'), Js('\\bigotimes')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('⨁'), Js('\\bigoplus')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('⨀'), Js('\\bigodot')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∮'), Js('\\oint')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∯'), Js('\\oiint')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∰'), Js('\\oiiint')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('⨆'), Js('\\bigsqcup')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('op'), Js('∫'), Js('\\smallint')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_inner'), Js('…'), Js('\\textellipsis')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_inner'), Js('…'), Js('\\mathellipsis')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_inner'), Js('…'), Js('\\ldots'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_inner'), Js('…'), Js('\\ldots'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_inner'), Js('⋯'), Js('\\@cdots'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_inner'), Js('⋱'), Js('\\ddots'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('⋮'), Js('\\varvdots')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('ˊ'), Js('\\acute')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('ˋ'), Js('\\grave')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('¨'), Js('\\ddot')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('~'), Js('\\tilde')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('ˉ'), Js('\\bar')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('˘'), Js('\\breve')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('ˇ'), Js('\\check')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('^'), Js('\\hat')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('⃗'), Js('\\vec')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('˙'), Js('\\dot')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_accent'), Js('˚'), Js('\\mathring')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ı'), Js('\\imath'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('ȷ'), Js('\\jmath'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('ı'), Js('\\i'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('ȷ'), Js('\\j'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('ß'), Js('\\ss'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('æ'), Js('\\ae'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('æ'), Js('\\ae'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('œ'), Js('\\oe'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('ø'), Js('\\o'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('Æ'), Js('\\AE'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('Œ'), Js('\\OE'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('Ø'), Js('\\O'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('ˊ'), Js("\\'")) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('ˋ'), Js('\\`')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('ˆ'), Js('\\^')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('˜'), Js('\\~')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('ˉ'), Js('\\=')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('˘'), Js('\\u')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('˙'), Js('\\.')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('˚'), Js('\\r')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('ˇ'), Js('\\v')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('¨'), Js('\\"')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('˝'), Js('\\H')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_accent'), Js('◯'), Js('\\textcircled')) + var.put('spacing', Js('spacing')) + var.put('textord', Js('textord')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≡'), Js('\\equiv'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≺'), Js('\\prec'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≻'), Js('\\succ'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('∼'), Js('\\sim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊥'), Js('\\perp')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⪯'), Js('\\preceq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⪰'), Js('\\succeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≃'), Js('\\simeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('∣'), Js('\\mid'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≪'), Js('\\ll'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≫'), Js('\\gg'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≍'), Js('\\asymp'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('∥'), Js('\\parallel')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⋈'), Js('\\bowtie'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⌣'), Js('\\smile'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊑'), Js('\\sqsubseteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊒'), Js('\\sqsupseteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≐'), Js('\\doteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⌢'), Js('\\frown'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('∋'), Js('\\ni'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('∝'), Js('\\propto'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊢'), Js('\\vdash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊣'), Js('\\dashv'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('∋'), Js('\\owns')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('punct'), Js('.'), Js('\\ldotp')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('punct'), Js('⋅'), Js('\\cdotp')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('#'), Js('\\#')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('#'), Js('\\#')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('&'), Js('\\&')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('&'), Js('\\&')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('ℵ'), Js('\\aleph'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∀'), Js('\\forall'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('ℏ'), Js('\\hbar'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∃'), Js('\\exists'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∇'), Js('\\nabla'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('♭'), Js('\\flat'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('ℓ'), Js('\\ell'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('♮'), Js('\\natural'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('♣'), Js('\\clubsuit'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('℘'), Js('\\wp'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('♯'), Js('\\sharp'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('♢'), Js('\\diamondsuit'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('ℜ'), Js('\\Re'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('♡'), Js('\\heartsuit'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('ℑ'), Js('\\Im'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('♠'), Js('\\spadesuit'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('§'), Js('\\S'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('§'), Js('\\S')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('¶'), Js('\\P'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('¶'), Js('\\P')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('†'), Js('\\dag')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('†'), Js('\\dag')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('†'), Js('\\textdagger')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('‡'), Js('\\ddag')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('‡'), Js('\\ddag')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('‡'), Js('\\textdaggerdbl')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('⎱'), Js('\\rmoustache'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('⎰'), Js('\\lmoustache'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('⟯'), Js('\\rgroup'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('⟮'), Js('\\lgroup'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∓'), Js('\\mp'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⊖'), Js('\\ominus'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⊎'), Js('\\uplus'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⊓'), Js('\\sqcap'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∗'), Js('\\ast')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⊔'), Js('\\sqcup'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('◯'), Js('\\bigcirc'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∙'), Js('\\bullet')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('‡'), Js('\\ddagger')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('≀'), Js('\\wr'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⨿'), Js('\\amalg')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('&'), Js('\\And')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⟵'), Js('\\longleftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⇐'), Js('\\Leftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⟸'), Js('\\Longleftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⟶'), Js('\\longrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⇒'), Js('\\Rightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⟹'), Js('\\Longrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↔'), Js('\\leftrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⟷'), Js('\\longleftrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⇔'), Js('\\Leftrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⟺'), Js('\\Longleftrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↦'), Js('\\mapsto'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⟼'), Js('\\longmapsto'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↗'), Js('\\nearrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↩'), Js('\\hookleftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↪'), Js('\\hookrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↘'), Js('\\searrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↼'), Js('\\leftharpoonup'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⇀'), Js('\\rightharpoonup'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↙'), Js('\\swarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↽'), Js('\\leftharpoondown'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⇁'), Js('\\rightharpoondown'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↖'), Js('\\nwarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⇌'), Js('\\rightleftharpoons'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≮'), Js('\\nless'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue010'), Js('\\@nleqslant')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue011'), Js('\\@nleqq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪇'), Js('\\lneq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≨'), Js('\\lneqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue00c'), Js('\\@lvertneqq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋦'), Js('\\lnsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪉'), Js('\\lnapprox'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊀'), Js('\\nprec'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋠'), Js('\\npreceq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋨'), Js('\\precnsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪹'), Js('\\precnapprox'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≁'), Js('\\nsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue006'), Js('\\@nshortmid')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∤'), Js('\\nmid'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊬'), Js('\\nvdash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊭'), Js('\\nvDash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋪'), Js('\\ntriangleleft')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋬'), Js('\\ntrianglelefteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊊'), Js('\\subsetneq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue01a'), Js('\\@varsubsetneq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⫋'), Js('\\subsetneqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue017'), Js('\\@varsubsetneqq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≯'), Js('\\ngtr'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue00f'), Js('\\@ngeqslant')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue00e'), Js('\\@ngeqq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪈'), Js('\\gneq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≩'), Js('\\gneqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue00d'), Js('\\@gvertneqq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋧'), Js('\\gnsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪊'), Js('\\gnapprox'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊁'), Js('\\nsucc'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋡'), Js('\\nsucceq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋩'), Js('\\succnsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪺'), Js('\\succnapprox'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≆'), Js('\\ncong'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue007'), Js('\\@nshortparallel')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∦'), Js('\\nparallel'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊯'), Js('\\nVDash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋫'), Js('\\ntriangleright')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋭'), Js('\\ntrianglerighteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue018'), Js('\\@nsupseteqq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊋'), Js('\\supsetneq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue01b'), Js('\\@varsupsetneq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⫌'), Js('\\supsetneqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue019'), Js('\\@varsupsetneqq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊮'), Js('\\nVdash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪵'), Js('\\precneqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪶'), Js('\\succneqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('\ue016'), Js('\\@nsubseteqq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊴'), Js('\\unlhd')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊵'), Js('\\unrhd')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↚'), Js('\\nleftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↛'), Js('\\nrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇍'), Js('\\nLeftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇏'), Js('\\nRightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↮'), Js('\\nleftrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇎'), Js('\\nLeftrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('△'), Js('\\vartriangle')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('ℏ'), Js('\\hslash')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('▽'), Js('\\triangledown')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('◊'), Js('\\lozenge')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('Ⓢ'), Js('\\circledS')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('®'), Js('\\circledR')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('ams'), var.get('textord'), Js('®'), Js('\\circledR')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('∡'), Js('\\measuredangle'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('∄'), Js('\\nexists')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('℧'), Js('\\mho')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('Ⅎ'), Js('\\Finv'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('⅁'), Js('\\Game'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('‵'), Js('\\backprime')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('▲'), Js('\\blacktriangle')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('▼'), Js('\\blacktriangledown')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('■'), Js('\\blacksquare')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('⧫'), Js('\\blacklozenge')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('★'), Js('\\bigstar')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('∢'), Js('\\sphericalangle'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('∁'), Js('\\complement'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('ð'), Js('\\eth'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('ð'), Js('ð')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('╱'), Js('\\diagup')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('╲'), Js('\\diagdown')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('□'), Js('\\square')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('□'), Js('\\Box')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('◊'), Js('\\Diamond')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('¥'), Js('\\yen'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('ams'), var.get('textord'), Js('¥'), Js('\\yen'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('✓'), Js('\\checkmark'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('ams'), var.get('textord'), Js('✓'), Js('\\checkmark')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('ℶ'), Js('\\beth'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('ℸ'), Js('\\daleth'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('ℷ'), Js('\\gimel'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('ϝ'), Js('\\digamma'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('ϰ'), Js('\\varkappa')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('symbols_open'), Js('┌'), Js('\\@ulcorner'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('symbols_close'), Js('┐'), Js('\\@urcorner'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('symbols_open'), Js('└'), Js('\\@llcorner'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('symbols_close'), Js('┘'), Js('\\@lrcorner'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≦'), Js('\\leqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⩽'), Js('\\leqslant'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪕'), Js('\\eqslantless'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≲'), Js('\\lesssim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪅'), Js('\\lessapprox'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≊'), Js('\\approxeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋖'), Js('\\lessdot')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋘'), Js('\\lll'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≶'), Js('\\lessgtr'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋚'), Js('\\lesseqgtr'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪋'), Js('\\lesseqqgtr'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≑'), Js('\\doteqdot')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≓'), Js('\\risingdotseq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≒'), Js('\\fallingdotseq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∽'), Js('\\backsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋍'), Js('\\backsimeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⫅'), Js('\\subseteqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋐'), Js('\\Subset'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊏'), Js('\\sqsubset'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≼'), Js('\\preccurlyeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋞'), Js('\\curlyeqprec'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≾'), Js('\\precsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪷'), Js('\\precapprox'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊲'), Js('\\vartriangleleft')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊴'), Js('\\trianglelefteq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊨'), Js('\\vDash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊪'), Js('\\Vvdash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⌣'), Js('\\smallsmile')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⌢'), Js('\\smallfrown')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≏'), Js('\\bumpeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≎'), Js('\\Bumpeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≧'), Js('\\geqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⩾'), Js('\\geqslant'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪖'), Js('\\eqslantgtr'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≳'), Js('\\gtrsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪆'), Js('\\gtrapprox'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋗'), Js('\\gtrdot')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋙'), Js('\\ggg'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≷'), Js('\\gtrless'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋛'), Js('\\gtreqless'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪌'), Js('\\gtreqqless'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≖'), Js('\\eqcirc'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≗'), Js('\\circeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≜'), Js('\\triangleq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∼'), Js('\\thicksim')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≈'), Js('\\thickapprox')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⫆'), Js('\\supseteqq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋑'), Js('\\Supset'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊐'), Js('\\sqsupset'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≽'), Js('\\succcurlyeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋟'), Js('\\curlyeqsucc'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≿'), Js('\\succsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⪸'), Js('\\succapprox'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊳'), Js('\\vartriangleright')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊵'), Js('\\trianglerighteq')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊩'), Js('\\Vdash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∣'), Js('\\shortmid')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∥'), Js('\\shortparallel')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≬'), Js('\\between'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋔'), Js('\\pitchfork'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∝'), Js('\\varpropto')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('◀'), Js('\\blacktriangleleft')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∴'), Js('\\therefore'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∍'), Js('\\backepsilon')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('▶'), Js('\\blacktriangleright')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('∵'), Js('\\because'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋘'), Js('\\llless')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⋙'), Js('\\gggtr')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊲'), Js('\\lhd')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊳'), Js('\\rhd')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≂'), Js('\\eqsim'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⋈'), Js('\\Join')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≑'), Js('\\Doteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('∔'), Js('\\dotplus'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('∖'), Js('\\smallsetminus')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋒'), Js('\\Cap'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋓'), Js('\\Cup'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⩞'), Js('\\doublebarwedge'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊟'), Js('\\boxminus'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊞'), Js('\\boxplus'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋇'), Js('\\divideontimes'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋉'), Js('\\ltimes'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋊'), Js('\\rtimes'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋋'), Js('\\leftthreetimes'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋌'), Js('\\rightthreetimes'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋏'), Js('\\curlywedge'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋎'), Js('\\curlyvee'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊝'), Js('\\circleddash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊛'), Js('\\circledast'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋅'), Js('\\centerdot')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊺'), Js('\\intercal'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋒'), Js('\\doublecap')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⋓'), Js('\\doublecup')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊠'), Js('\\boxtimes'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇢'), Js('\\dashrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇠'), Js('\\dashleftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇇'), Js('\\leftleftarrows'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇆'), Js('\\leftrightarrows'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇚'), Js('\\Lleftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↞'), Js('\\twoheadleftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↢'), Js('\\leftarrowtail'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↫'), Js('\\looparrowleft'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇋'), Js('\\leftrightharpoons'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↶'), Js('\\curvearrowleft'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↺'), Js('\\circlearrowleft'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↰'), Js('\\Lsh'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇈'), Js('\\upuparrows'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↿'), Js('\\upharpoonleft'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇃'), Js('\\downharpoonleft'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊶'), Js('\\origof'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊷'), Js('\\imageof'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊸'), Js('\\multimap'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↭'), Js('\\leftrightsquigarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇉'), Js('\\rightrightarrows'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇄'), Js('\\rightleftarrows'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↠'), Js('\\twoheadrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↣'), Js('\\rightarrowtail'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↬'), Js('\\looparrowright'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↷'), Js('\\curvearrowright'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↻'), Js('\\circlearrowright'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↱'), Js('\\Rsh'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇊'), Js('\\downdownarrows'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↾'), Js('\\upharpoonright'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇂'), Js('\\downharpoonright'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇝'), Js('\\rightsquigarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇝'), Js('\\leadsto')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⇛'), Js('\\Rrightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('↾'), Js('\\restriction')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('‘'), Js('`')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('$'), Js('\\$')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('$'), Js('\\$')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('$'), Js('\\textdollar')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('%'), Js('\\%')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('%'), Js('\\%')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('_'), Js('\\_')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('_'), Js('\\_')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('_'), Js('\\textunderscore')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∠'), Js('\\angle'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∞'), Js('\\infty'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('′'), Js('\\prime')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('△'), Js('\\triangle')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Γ'), Js('\\Gamma'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Δ'), Js('\\Delta'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Θ'), Js('\\Theta'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Λ'), Js('\\Lambda'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Ξ'), Js('\\Xi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Π'), Js('\\Pi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Σ'), Js('\\Sigma'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Υ'), Js('\\Upsilon'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Φ'), Js('\\Phi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Ψ'), Js('\\Psi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Ω'), Js('\\Omega'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('A'), Js('Α')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('B'), Js('Β')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('E'), Js('Ε')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('Z'), Js('Ζ')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('H'), Js('Η')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('I'), Js('Ι')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('K'), Js('Κ')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('M'), Js('Μ')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('N'), Js('Ν')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('O'), Js('Ο')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('P'), Js('Ρ')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('T'), Js('Τ')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('X'), Js('Χ')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('¬'), Js('\\neg'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('¬'), Js('\\lnot')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('⊤'), Js('\\top')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('⊥'), Js('\\bot')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∅'), Js('\\emptyset')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('∅'), Js('\\varnothing')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('α'), Js('\\alpha'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('β'), Js('\\beta'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('γ'), Js('\\gamma'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('δ'), Js('\\delta'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ϵ'), Js('\\epsilon'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ζ'), Js('\\zeta'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('η'), Js('\\eta'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('θ'), Js('\\theta'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ι'), Js('\\iota'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('κ'), Js('\\kappa'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('λ'), Js('\\lambda'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('μ'), Js('\\mu'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ν'), Js('\\nu'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ξ'), Js('\\xi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ο'), Js('\\omicron'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('π'), Js('\\pi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ρ'), Js('\\rho'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('σ'), Js('\\sigma'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('τ'), Js('\\tau'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('υ'), Js('\\upsilon'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ϕ'), Js('\\phi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('χ'), Js('\\chi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ψ'), Js('\\psi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ω'), Js('\\omega'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ε'), Js('\\varepsilon'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ϑ'), Js('\\vartheta'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ϖ'), Js('\\varpi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ϱ'), Js('\\varrho'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('ς'), Js('\\varsigma'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('φ'), Js('\\varphi'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∗'), Js('*')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('+'), Js('+')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('−'), Js('-')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⋅'), Js('\\cdot'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∘'), Js('\\circ')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('÷'), Js('\\div'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('±'), Js('\\pm'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('×'), Js('\\times'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∩'), Js('\\cap'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∪'), Js('\\cup'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∖'), Js('\\setminus')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∧'), Js('\\land')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∨'), Js('\\lor')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∧'), Js('\\wedge'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('∨'), Js('\\vee'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('√'), Js('\\surd')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('⟨'), Js('\\langle'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('∣'), Js('\\lvert')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('∥'), Js('\\lVert')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('?'), Js('?')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('!'), Js('!')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('⟩'), Js('\\rangle'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('∣'), Js('\\rvert')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('∥'), Js('\\rVert')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('='), Js('=')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js(':'), Js(':')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≈'), Js('\\approx'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≅'), Js('\\cong'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≥'), Js('\\ge')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≥'), Js('\\geq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('←'), Js('\\gets')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('>'), Js('\\gt'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('∈'), Js('\\in'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('\ue020'), Js('\\@not')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊂'), Js('\\subset'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊃'), Js('\\supset'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊆'), Js('\\subseteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊇'), Js('\\supseteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊈'), Js('\\nsubseteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('⊉'), Js('\\nsupseteq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⊨'), Js('\\models')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('←'), Js('\\leftarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≤'), Js('\\le')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('≤'), Js('\\leq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('<'), Js('\\lt'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('→'), Js('\\rightarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('→'), Js('\\to')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≱'), Js('\\ngeq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('rel'), Js('≰'), Js('\\nleq'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('spacing'), Js('\xa0'), Js('\\ ')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('spacing'), Js('\xa0'), Js('\\space')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('spacing'), Js('\xa0'), Js('\\nobreakspace')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('spacing'), Js('\xa0'), Js('\\ ')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('spacing'), Js('\xa0'), Js(' ')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('spacing'), Js('\xa0'), Js('\\space')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('spacing'), Js('\xa0'), Js('\\nobreakspace')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('spacing'), var.get(u"null"), Js('\\nobreak')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('spacing'), var.get(u"null"), Js('\\allowbreak')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('punct'), Js(','), Js(',')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('punct'), Js(';'), Js(';')) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊼'), Js('\\barwedge'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊻'), Js('\\veebar'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⊙'), Js('\\odot'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⊕'), Js('\\oplus'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⊗'), Js('\\otimes'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∂'), Js('\\partial'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⊘'), Js('\\oslash'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊚'), Js('\\circledcirc'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('bin'), Js('⊡'), Js('\\boxdot'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('△'), Js('\\bigtriangleup')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('▽'), Js('\\bigtriangledown')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('†'), Js('\\dagger')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⋄'), Js('\\diamond')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('⋆'), Js('\\star')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('◃'), Js('\\triangleleft')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('bin'), Js('▹'), Js('\\triangleright')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('{'), Js('\\{')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('{'), Js('\\{')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('{'), Js('\\textbraceleft')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('}'), Js('\\}')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('}'), Js('\\}')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('}'), Js('\\textbraceright')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('{'), Js('\\lbrace')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('}'), Js('\\rbrace')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('['), Js('\\lbrack'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('['), Js('\\lbrack'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js(']'), Js('\\rbrack'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js(']'), Js('\\rbrack'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('('), Js('\\lparen'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js(')'), Js('\\rparen'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('<'), Js('\\textless'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('>'), Js('\\textgreater'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('⌊'), Js('\\lfloor'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('⌋'), Js('\\rfloor'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_open'), Js('⌈'), Js('\\lceil'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('symbols_close'), Js('⌉'), Js('\\rceil'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('\\'), Js('\\backslash')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∣'), Js('|')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∣'), Js('\\vert')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('|'), Js('\\textbar'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∥'), Js('\\|')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('∥'), Js('\\Vert')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('∥'), Js('\\textbardbl')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('~'), Js('\\textasciitilde')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('\\'), Js('\\textbackslash')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('^'), Js('\\textasciicircum')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↑'), Js('\\uparrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⇑'), Js('\\Uparrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↓'), Js('\\downarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⇓'), Js('\\Downarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('↕'), Js('\\updownarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('rel'), Js('⇕'), Js('\\Updownarrow'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∐'), Js('\\coprod')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('⋁'), Js('\\bigvee')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('⋀'), Js('\\bigwedge')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('⨄'), Js('\\biguplus')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('⋂'), Js('\\bigcap')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('⋃'), Js('\\bigcup')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∫'), Js('\\int')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∫'), Js('\\intop')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∬'), Js('\\iint')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∭'), Js('\\iiint')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∏'), Js('\\prod')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∑'), Js('\\sum')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('⨂'), Js('\\bigotimes')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('⨁'), Js('\\bigoplus')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('⨀'), Js('\\bigodot')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∮'), Js('\\oint')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∯'), Js('\\oiint')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∰'), Js('\\oiiint')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('⨆'), Js('\\bigsqcup')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('op'), Js('∫'), Js('\\smallint')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('inner'), Js('…'), Js('\\textellipsis')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('inner'), Js('…'), Js('\\mathellipsis')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('inner'), Js('…'), Js('\\ldots'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('inner'), Js('…'), Js('\\ldots'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('inner'), Js('⋯'), Js('\\@cdots'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('inner'), Js('⋱'), Js('\\ddots'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('⋮'), Js('\\varvdots')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('ˊ'), Js('\\acute')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('ˋ'), Js('\\grave')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('¨'), Js('\\ddot')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('~'), Js('\\tilde')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('ˉ'), Js('\\bar')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('˘'), Js('\\breve')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('ˇ'), Js('\\check')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('^'), Js('\\hat')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('⃗'), Js('\\vec')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('˙'), Js('\\dot')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('accent'), Js('˚'), Js('\\mathring')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('\ue131'), Js('\\@imath')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('mathord'), Js('\ue237'), Js('\\@jmath')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('ı'), Js('ı')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('ȷ'), Js('ȷ')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('ı'), Js('\\i'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('ȷ'), Js('\\j'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('ß'), Js('\\ss'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('æ'), Js('\\ae'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('œ'), Js('\\oe'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('ø'), Js('\\o'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('Æ'), Js('\\AE'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('Œ'), Js('\\OE'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('Ø'), Js('\\O'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('ˊ'), Js("\\'")) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('ˋ'), Js('\\`')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('ˆ'), Js('\\^')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('˜'), Js('\\~')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('ˉ'), Js('\\=')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('˘'), Js('\\u')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('˙'), Js('\\.')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('˚'), Js('\\r')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('ˇ'), Js('\\v')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('¨'), Js('\\"')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('˝'), Js('\\H')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('accent'), Js('◯'), Js('\\textcircled')) var.put('ligatures', Js({'--':Js(True),'---':Js(True),'``':Js(True),"''":Js(True)})) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('–'), Js('--')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('–'), Js('\\textendash')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('—'), Js('---')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('—'), Js('\\textemdash')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('‘'), Js('`')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('‘'), Js('\\textquoteleft')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('’'), Js("'")) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('’'), Js('\\textquoteright')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('“'), Js('``')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('“'), Js('\\textquotedblleft')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('”'), Js("''")) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('”'), Js('\\textquotedblright')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('symbols_textord'), Js('°'), Js('\\degree'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('°'), Js('\\degree')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_textord'), Js('°'), Js('\\textdegree'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('£'), Js('\\pounds')) - var.get('defineSymbol')(var.get('symbols_math'), var.get('main'), var.get('mathord'), Js('£'), Js('\\mathsterling'), Js(True)) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('mathord'), Js('£'), Js('\\pounds')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('mathord'), Js('£'), Js('\\textsterling'), Js(True)) - var.get('defineSymbol')(var.get('symbols_math'), var.get('ams'), var.get('symbols_textord'), Js('✠'), Js('\\maltese')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('ams'), var.get('symbols_textord'), Js('✠'), Js('\\maltese')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('\\ ')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js(' ')) - var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('symbols_spacing'), Js('\xa0'), Js('~')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('–'), Js('--'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('–'), Js('\\textendash')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('—'), Js('---'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('—'), Js('\\textemdash')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('‘'), Js('`'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('‘'), Js('\\textquoteleft')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('’'), Js("'"), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('’'), Js('\\textquoteright')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('“'), Js('``'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('“'), Js('\\textquotedblleft')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('”'), Js("''"), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('”'), Js('\\textquotedblright')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('°'), Js('\\degree'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('°'), Js('\\degree')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('°'), Js('\\textdegree'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('£'), Js('\\pounds')) + var.get('defineSymbol')(var.get('math'), var.get('main'), var.get('textord'), Js('£'), Js('\\mathsterling'), Js(True)) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('£'), Js('\\pounds')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('main'), var.get('textord'), Js('£'), Js('\\textsterling'), Js(True)) + var.get('defineSymbol')(var.get('math'), var.get('ams'), var.get('textord'), Js('✠'), Js('\\maltese')) + var.get('defineSymbol')(var.get('symbols_text'), var.get('ams'), var.get('textord'), Js('✠'), Js('\\maltese')) var.put('mathTextSymbols', Js('0123456789/@."')) #for JS loop - var.put('symbols_i', Js(0.0)) - while (var.get('symbols_i')|";:?/.,')) + (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) + var.put('textSymbols', Js('0123456789!@*()-=+";:?/.,')) #for JS loop - var.put('src_symbols_i', Js(0.0)) - while (var.get('src_symbols_i')Js(0.0)): + var.get('node').put('className', var.get('createClass')(var.get(u"this").get('classes'))) #for JS loop var.put('i', Js(0.0)) while (var.get('i')Js(0.0)): + var.put('markup', ((Js(' class ="')+var.get('utils').callprop('escape', var.get('createClass')(var.get(u"this").get('classes'))))+Js('"')), '+') var.put('markup', Js('>'), '+') #for JS loop var.put('i', Js(0.0)) @@ -3228,28 +3511,28 @@ def PyJs_toMarkup_130_(this, arguments, var=var): (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) var.put('markup', ((Js('')), '+') return var.get('markup') - PyJs_toMarkup_130_._set_name('toMarkup') - var.get('_proto').put('toMarkup', PyJs_toMarkup_130_) + PyJs_toMarkup_143_._set_name('toMarkup') + var.get('_proto').put('toMarkup', PyJs_toMarkup_143_) @Js - def PyJs_toText_131_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toText':PyJs_toText_131_}, var) + def PyJs_toText_144_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toText':PyJs_toText_144_}, var) var.registers([]) @Js - def PyJs_anonymous_132_(child, this, arguments, var=var): + def PyJs_anonymous_145_(child, this, arguments, var=var): var = Scope({'child':child, 'this':this, 'arguments':arguments}, var) var.registers(['child']) return var.get('child').callprop('toText') - PyJs_anonymous_132_._set_name('anonymous') - return var.get(u"this").get('children').callprop('map', PyJs_anonymous_132_).callprop('join', Js('')) - PyJs_toText_131_._set_name('toText') - var.get('_proto').put('toText', PyJs_toText_131_) + PyJs_anonymous_145_._set_name('anonymous') + return var.get(u"this").get('children').callprop('map', PyJs_anonymous_145_).callprop('join', Js('')) + PyJs_toText_144_._set_name('toText') + var.get('_proto').put('toText', PyJs_toText_144_) return var.get('MathNode') - PyJs_anonymous_126_._set_name('anonymous') - var.put('mathMLTree_MathNode', PyJs_anonymous_126_()) + PyJs_anonymous_139_._set_name('anonymous') + var.put('MathNode', PyJs_anonymous_139_()) @Js - def PyJs_anonymous_133_(this, arguments, var=var): + def PyJs_anonymous_146_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) - var.registers(['_proto2', 'TextNode']) + var.registers(['TextNode', '_proto2']) @Js def PyJsHoisted_TextNode_(text, this, arguments, var=var): var = Scope({'text':text, 'this':this, 'arguments':arguments}, var) @@ -3261,31 +3544,31 @@ def PyJsHoisted_TextNode_(text, this, arguments, var=var): pass var.put('_proto2', var.get('TextNode').get('prototype')) @Js - def PyJs_toNode_134_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_134_}, var) + def PyJs_toNode_147_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_147_}, var) var.registers([]) return var.get('document').callprop('createTextNode', var.get(u"this").get('text')) - PyJs_toNode_134_._set_name('toNode') - var.get('_proto2').put('toNode', PyJs_toNode_134_) + PyJs_toNode_147_._set_name('toNode') + var.get('_proto2').put('toNode', PyJs_toNode_147_) @Js - def PyJs_toMarkup_135_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_135_}, var) + def PyJs_toMarkup_148_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_148_}, var) var.registers([]) return var.get('utils').callprop('escape', var.get(u"this").callprop('toText')) - PyJs_toMarkup_135_._set_name('toMarkup') - var.get('_proto2').put('toMarkup', PyJs_toMarkup_135_) + PyJs_toMarkup_148_._set_name('toMarkup') + var.get('_proto2').put('toMarkup', PyJs_toMarkup_148_) @Js - def PyJs_toText_136_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toText':PyJs_toText_136_}, var) + def PyJs_toText_149_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toText':PyJs_toText_149_}, var) var.registers([]) return var.get(u"this").get('text') - PyJs_toText_136_._set_name('toText') - var.get('_proto2').put('toText', PyJs_toText_136_) + PyJs_toText_149_._set_name('toText') + var.get('_proto2').put('toText', PyJs_toText_149_) return var.get('TextNode') - PyJs_anonymous_133_._set_name('anonymous') - var.put('mathMLTree_TextNode', PyJs_anonymous_133_()) + PyJs_anonymous_146_._set_name('anonymous') + var.put('TextNode', PyJs_anonymous_146_()) @Js - def PyJs_anonymous_137_(this, arguments, var=var): + def PyJs_anonymous_150_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) var.registers(['SpaceNode', '_proto3']) @Js @@ -3325,8 +3608,8 @@ def PyJsHoisted_SpaceNode_(width, this, arguments, var=var): pass var.put('_proto3', var.get('SpaceNode').get('prototype')) @Js - def PyJs_toNode_138_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_138_}, var) + def PyJs_toNode_151_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toNode':PyJs_toNode_151_}, var) var.registers(['node']) if var.get(u"this").get('character'): return var.get('document').callprop('createTextNode', var.get(u"this").get('character')) @@ -3334,57 +3617,58 @@ def PyJs_toNode_138_(this, arguments, var=var): var.put('node', var.get('document').callprop('createElementNS', Js('http://www.w3.org/1998/Math/MathML'), Js('mspace'))) var.get('node').callprop('setAttribute', Js('width'), (var.get(u"this").get('width')+Js('em'))) return var.get('node') - PyJs_toNode_138_._set_name('toNode') - var.get('_proto3').put('toNode', PyJs_toNode_138_) + PyJs_toNode_151_._set_name('toNode') + var.get('_proto3').put('toNode', PyJs_toNode_151_) @Js - def PyJs_toMarkup_139_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_139_}, var) + def PyJs_toMarkup_152_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toMarkup':PyJs_toMarkup_152_}, var) var.registers([]) if var.get(u"this").get('character'): return ((Js('')+var.get(u"this").get('character'))+Js('')) else: return ((Js('')) - PyJs_toMarkup_139_._set_name('toMarkup') - var.get('_proto3').put('toMarkup', PyJs_toMarkup_139_) + PyJs_toMarkup_152_._set_name('toMarkup') + var.get('_proto3').put('toMarkup', PyJs_toMarkup_152_) @Js - def PyJs_toText_140_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'toText':PyJs_toText_140_}, var) + def PyJs_toText_153_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'toText':PyJs_toText_153_}, var) var.registers([]) if var.get(u"this").get('character'): return var.get(u"this").get('character') else: return Js(' ') - PyJs_toText_140_._set_name('toText') - var.get('_proto3').put('toText', PyJs_toText_140_) + PyJs_toText_153_._set_name('toText') + var.get('_proto3').put('toText', PyJs_toText_153_) return var.get('SpaceNode') - PyJs_anonymous_137_._set_name('anonymous') - var.put('SpaceNode', PyJs_anonymous_137_()) - var.put('mathMLTree', Js({'MathNode':var.get('mathMLTree_MathNode'),'TextNode':var.get('mathMLTree_TextNode'),'SpaceNode':var.get('SpaceNode'),'newDocumentFragment':var.get('newDocumentFragment')})) - @Js - def PyJs_makeText_141_(text, mode, options, this, arguments, var=var): - var = Scope({'text':text, 'mode':mode, 'options':options, 'this':this, 'arguments':arguments, 'makeText':PyJs_makeText_141_}, var) - var.registers(['options', 'text', 'mode']) - def PyJs_LONG_142_(var=var): + PyJs_anonymous_150_._set_name('anonymous') + var.put('SpaceNode', PyJs_anonymous_150_()) + var.put('mathMLTree', Js({'MathNode':var.get('MathNode'),'TextNode':var.get('TextNode'),'SpaceNode':var.get('SpaceNode'),'newDocumentFragment':var.get('newDocumentFragment')})) + pass + @Js + def PyJs_makeText_154_(text, mode, options, this, arguments, var=var): + var = Scope({'text':text, 'mode':mode, 'options':options, 'this':this, 'arguments':arguments, 'makeText':PyJs_makeText_154_}, var) + var.registers(['mode', 'text', 'options']) + def PyJs_LONG_155_(var=var): return (((var.get('src_symbols').get(var.get('mode')).get(var.get('text')) and var.get('src_symbols').get(var.get('mode')).get(var.get('text')).get('replace')) and PyJsStrictNeq(var.get('text').callprop('charCodeAt', Js(0.0)),Js(55349))) and ((var.get('ligatures').callprop('hasOwnProperty', var.get('text')) and var.get('options')) and ((var.get('options').get('fontFamily') and PyJsStrictEq(var.get('options').get('fontFamily').callprop('substr', Js(4.0), Js(2.0)),Js('tt'))) or (var.get('options').get('font') and PyJsStrictEq(var.get('options').get('font').callprop('substr', Js(4.0), Js(2.0)),Js('tt'))))).neg()) - if PyJs_LONG_142_(): + if PyJs_LONG_155_(): var.put('text', var.get('src_symbols').get(var.get('mode')).get(var.get('text')).get('replace')) return var.get('mathMLTree').get('TextNode').create(var.get('text')) - PyJs_makeText_141_._set_name('makeText') - var.put('buildMathML_makeText', PyJs_makeText_141_) + PyJs_makeText_154_._set_name('makeText') + var.put('makeText', PyJs_makeText_154_) @Js - def PyJs_makeRow_143_(body, this, arguments, var=var): - var = Scope({'body':body, 'this':this, 'arguments':arguments, 'makeRow':PyJs_makeRow_143_}, var) + def PyJs_makeRow_156_(body, this, arguments, var=var): + var = Scope({'body':body, 'this':this, 'arguments':arguments, 'makeRow':PyJs_makeRow_156_}, var) var.registers(['body']) if PyJsStrictEq(var.get('body').get('length'),Js(1.0)): return var.get('body').get('0') else: return var.get('mathMLTree').get('MathNode').create(Js('mrow'), var.get('body')) - PyJs_makeRow_143_._set_name('makeRow') - var.put('buildMathML_makeRow', PyJs_makeRow_143_) + PyJs_makeRow_156_._set_name('makeRow') + var.put('makeRow', PyJs_makeRow_156_) @Js - def PyJs_getVariant_144_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'getVariant':PyJs_getVariant_144_}, var) - var.registers(['fontName', 'mode', 'font', 'group', 'options', 'text']) + def PyJs_getVariant_157_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'getVariant':PyJs_getVariant_157_}, var) + var.registers(['text', 'font', 'group', 'mode', 'fontName', 'options']) if PyJsStrictEq(var.get('options').get('fontFamily'),Js('texttt')): return Js('monospace') else: @@ -3416,7 +3700,25 @@ def PyJs_getVariant_144_(group, options, this, arguments, var=var): return Js('italic') else: if PyJsStrictEq(var.get('font'),Js('boldsymbol')): - return Js('bold-italic') + return (Js('bold') if PyJsStrictEq(var.get('group').get('type'),Js('textord')) else Js('bold-italic')) + else: + if PyJsStrictEq(var.get('font'),Js('mathbf')): + return Js('bold') + else: + if PyJsStrictEq(var.get('font'),Js('mathbb')): + return Js('double-struck') + else: + if PyJsStrictEq(var.get('font'),Js('mathfrak')): + return Js('fraktur') + else: + if (PyJsStrictEq(var.get('font'),Js('mathscr')) or PyJsStrictEq(var.get('font'),Js('mathcal'))): + return Js('script') + else: + if PyJsStrictEq(var.get('font'),Js('mathsf')): + return Js('sans-serif') + else: + if PyJsStrictEq(var.get('font'),Js('mathtt')): + return Js('monospace') var.put('text', var.get('group').get('text')) if var.get('utils').callprop('contains', Js([Js('\\imath'), Js('\\jmath')]), var.get('text')): return var.get(u"null") @@ -3426,62 +3728,68 @@ def PyJs_getVariant_144_(group, options, this, arguments, var=var): if var.get('getCharacterMetrics')(var.get('text'), var.get('fontName'), var.get('mode')): return var.get('buildCommon').get('fontMap').get(var.get('font')).get('variant') return var.get(u"null") - PyJs_getVariant_144_._set_name('getVariant') - var.put('buildMathML_getVariant', PyJs_getVariant_144_) + PyJs_getVariant_157_._set_name('getVariant') + var.put('getVariant', PyJs_getVariant_157_) @Js - def PyJs_buildExpression_145_(expression, options, this, arguments, var=var): - var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'buildExpression':PyJs_buildExpression_145_}, var) - var.registers(['_lastGroup$children', 'i', '_lastGroup$children2', '_child', 'expression', 'group', 'options', 'child', 'lastChild', 'lastGroup', '_lastGroup$children3', 'groups']) + def PyJs_buildExpression_158_(expression, options, isOrdgroup, this, arguments, var=var): + var = Scope({'expression':expression, 'options':options, 'isOrdgroup':isOrdgroup, 'this':this, 'arguments':arguments, 'buildExpression':PyJs_buildExpression_158_}, var) + var.registers(['_lastGroup$children3', 'lastChild', '_group', '_child', 'lastGroup', 'group', 'isOrdgroup', 'i', 'child', 'expression', '_lastGroup$children', 'groups', '_lastGroup$children2', 'options']) + if PyJsStrictEq(var.get('expression').get('length'),Js(1.0)): + var.put('group', var.get('buildMathML_buildGroup')(var.get('expression').get('0'), var.get('options'))) + if ((var.get('isOrdgroup') and var.get('group').instanceof(var.get('MathNode'))) and PyJsStrictEq(var.get('group').get('type'),Js('mo'))): + var.get('group').callprop('setAttribute', Js('lspace'), Js('0em')) + var.get('group').callprop('setAttribute', Js('rspace'), Js('0em')) + return Js([var.get('group')]) var.put('groups', Js([])) pass #for JS loop var.put('i', Js(0.0)) while (var.get('i')Js(0.0))): + if ((var.get('lastChild').instanceof(var.get('TextNode')) and PyJsStrictEq(var.get('lastChild').get('text'),Js('̸'))) and ((PyJsStrictEq(var.get('_group').get('type'),Js('mo')) or PyJsStrictEq(var.get('_group').get('type'),Js('mi'))) or PyJsStrictEq(var.get('_group').get('type'),Js('mn')))): + var.put('_child', var.get('_group').get('children').get('0')) + if (var.get('_child').instanceof(var.get('TextNode')) and (var.get('_child').get('text').get('length')>Js(0.0))): var.get('_child').put('text', ((var.get('_child').get('text').callprop('slice', Js(0.0), Js(1.0))+Js('̸'))+var.get('_child').get('text').callprop('slice', Js(1.0)))) var.get('groups').callprop('pop') - var.get('groups').callprop('push', var.get('group')) - var.put('lastGroup', var.get('group')) + var.get('groups').callprop('push', var.get('_group')) + var.put('lastGroup', var.get('_group')) finally: (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) return var.get('groups') - PyJs_buildExpression_145_._set_name('buildExpression') - var.put('buildMathML_buildExpression', PyJs_buildExpression_145_) - @Js - def PyJs_buildExpressionRow_146_(expression, options, this, arguments, var=var): - var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'buildExpressionRow':PyJs_buildExpressionRow_146_}, var) - var.registers(['options', 'expression']) - return var.get('buildMathML_makeRow')(var.get('buildMathML_buildExpression')(var.get('expression'), var.get('options'))) - PyJs_buildExpressionRow_146_._set_name('buildExpressionRow') - var.put('buildExpressionRow', PyJs_buildExpressionRow_146_) - @Js - def PyJs_buildGroup_147_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'buildGroup':PyJs_buildGroup_147_}, var) - var.registers(['group', 'options', 'result']) + PyJs_buildExpression_158_._set_name('buildExpression') + var.put('buildMathML_buildExpression', PyJs_buildExpression_158_) + @Js + def PyJs_buildExpressionRow_159_(expression, options, isOrdgroup, this, arguments, var=var): + var = Scope({'expression':expression, 'options':options, 'isOrdgroup':isOrdgroup, 'this':this, 'arguments':arguments, 'buildExpressionRow':PyJs_buildExpressionRow_159_}, var) + var.registers(['expression', 'isOrdgroup', 'options']) + return var.get('makeRow')(var.get('buildMathML_buildExpression')(var.get('expression'), var.get('options'), var.get('isOrdgroup'))) + PyJs_buildExpressionRow_159_._set_name('buildExpressionRow') + var.put('buildExpressionRow', PyJs_buildExpressionRow_159_) + @Js + def PyJs_buildGroup_160_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'buildGroup':PyJs_buildGroup_160_}, var) + var.registers(['result', 'group', 'options']) if var.get('group').neg(): return var.get('mathMLTree').get('MathNode').create(Js('mrow')) if var.get('_mathmlGroupBuilders').get(var.get('group').get('type')): @@ -3490,20 +3798,21 @@ def PyJs_buildGroup_147_(group, options, this, arguments, var=var): else: PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js("Got group of unknown type: '")+var.get('group').get('type'))+Js("'")))) raise PyJsTempException - PyJs_buildGroup_147_._set_name('buildGroup') - var.put('buildMathML_buildGroup', PyJs_buildGroup_147_) + PyJs_buildGroup_160_._set_name('buildGroup') + var.put('buildMathML_buildGroup', PyJs_buildGroup_160_) + pass pass @Js - def PyJs_optionsFromSettings_148_(settings, this, arguments, var=var): - var = Scope({'settings':settings, 'this':this, 'arguments':arguments, 'optionsFromSettings':PyJs_optionsFromSettings_148_}, var) + def PyJs_optionsFromSettings_161_(settings, this, arguments, var=var): + var = Scope({'settings':settings, 'this':this, 'arguments':arguments, 'optionsFromSettings':PyJs_optionsFromSettings_161_}, var) var.registers(['settings']) - return var.get('src_Options').create(Js({'style':(var.get('src_Style').get('DISPLAY') if var.get('settings').get('displayMode') else var.get('src_Style').get('TEXT')),'maxSize':var.get('settings').get('maxSize')})) - PyJs_optionsFromSettings_148_._set_name('optionsFromSettings') - var.put('buildTree_optionsFromSettings', PyJs_optionsFromSettings_148_) + return var.get('src_Options').create(Js({'style':(var.get('src_Style').get('DISPLAY') if var.get('settings').get('displayMode') else var.get('src_Style').get('TEXT')),'maxSize':var.get('settings').get('maxSize'),'minRuleThickness':var.get('settings').get('minRuleThickness')})) + PyJs_optionsFromSettings_161_._set_name('optionsFromSettings') + var.put('optionsFromSettings', PyJs_optionsFromSettings_161_) @Js - def PyJs_displayWrap_149_(node, settings, this, arguments, var=var): - var = Scope({'node':node, 'settings':settings, 'this':this, 'arguments':arguments, 'displayWrap':PyJs_displayWrap_149_}, var) - var.registers(['node', 'classes', 'settings']) + def PyJs_displayWrap_162_(node, settings, this, arguments, var=var): + var = Scope({'node':node, 'settings':settings, 'this':this, 'arguments':arguments, 'displayWrap':PyJs_displayWrap_162_}, var) + var.registers(['settings', 'node', 'classes']) if var.get('settings').get('displayMode'): var.put('classes', Js([Js('katex-display')])) if var.get('settings').get('leqno'): @@ -3512,59 +3821,68 @@ def PyJs_displayWrap_149_(node, settings, this, arguments, var=var): var.get('classes').callprop('push', Js('fleqn')) var.put('node', var.get('buildCommon').callprop('makeSpan', var.get('classes'), Js([var.get('node')]))) return var.get('node') - PyJs_displayWrap_149_._set_name('displayWrap') - var.put('buildTree_displayWrap', PyJs_displayWrap_149_) - @Js - def PyJs_buildTree_150_(tree, expression, settings, this, arguments, var=var): - var = Scope({'tree':tree, 'expression':expression, 'settings':settings, 'this':this, 'arguments':arguments, 'buildTree':PyJs_buildTree_150_}, var) - var.registers(['mathMLNode', 'expression', 'htmlNode', 'options', 'katexNode', 'settings', 'tree']) - var.put('options', var.get('buildTree_optionsFromSettings')(var.get('settings'))) - var.put('mathMLNode', var.get('buildMathML')(var.get('tree'), var.get('expression'), var.get('options'))) - var.put('htmlNode', var.get('buildHTML')(var.get('tree'), var.get('options'))) - var.put('katexNode', var.get('buildCommon').callprop('makeSpan', Js([Js('katex')]), Js([var.get('mathMLNode'), var.get('htmlNode')]))) - return var.get('buildTree_displayWrap')(var.get('katexNode'), var.get('settings')) - PyJs_buildTree_150_._set_name('buildTree') - var.put('buildTree_buildTree', PyJs_buildTree_150_) - @Js - def PyJs_buildHTMLTree_151_(tree, expression, settings, this, arguments, var=var): - var = Scope({'tree':tree, 'expression':expression, 'settings':settings, 'this':this, 'arguments':arguments, 'buildHTMLTree':PyJs_buildHTMLTree_151_}, var) - var.registers(['expression', 'htmlNode', 'options', 'katexNode', 'settings', 'tree']) - var.put('options', var.get('buildTree_optionsFromSettings')(var.get('settings'))) + PyJs_displayWrap_162_._set_name('displayWrap') + var.put('displayWrap', PyJs_displayWrap_162_) + @Js + def PyJs_buildTree_163_(tree, expression, settings, this, arguments, var=var): + var = Scope({'tree':tree, 'expression':expression, 'settings':settings, 'this':this, 'arguments':arguments, 'buildTree':PyJs_buildTree_163_}, var) + var.registers(['settings', '_htmlNode', 'mathMLNode', 'tree', 'expression', 'katexNode', 'htmlNode', 'options']) + var.put('options', var.get('optionsFromSettings')(var.get('settings'))) + pass + if PyJsStrictEq(var.get('settings').get('output'),Js('mathml')): + return var.get('buildMathML')(var.get('tree'), var.get('expression'), var.get('options'), var.get('settings').get('displayMode'), Js(True)) + else: + if PyJsStrictEq(var.get('settings').get('output'),Js('html')): + var.put('htmlNode', var.get('buildHTML')(var.get('tree'), var.get('options'))) + var.put('katexNode', var.get('buildCommon').callprop('makeSpan', Js([Js('katex')]), Js([var.get('htmlNode')]))) + else: + var.put('mathMLNode', var.get('buildMathML')(var.get('tree'), var.get('expression'), var.get('options'), var.get('settings').get('displayMode'), Js(False))) + var.put('_htmlNode', var.get('buildHTML')(var.get('tree'), var.get('options'))) + var.put('katexNode', var.get('buildCommon').callprop('makeSpan', Js([Js('katex')]), Js([var.get('mathMLNode'), var.get('_htmlNode')]))) + return var.get('displayWrap')(var.get('katexNode'), var.get('settings')) + PyJs_buildTree_163_._set_name('buildTree') + var.put('buildTree', PyJs_buildTree_163_) + @Js + def PyJs_buildHTMLTree_164_(tree, expression, settings, this, arguments, var=var): + var = Scope({'tree':tree, 'expression':expression, 'settings':settings, 'this':this, 'arguments':arguments, 'buildHTMLTree':PyJs_buildHTMLTree_164_}, var) + var.registers(['settings', 'tree', 'expression', 'katexNode', 'htmlNode', 'options']) + var.put('options', var.get('optionsFromSettings')(var.get('settings'))) var.put('htmlNode', var.get('buildHTML')(var.get('tree'), var.get('options'))) var.put('katexNode', var.get('buildCommon').callprop('makeSpan', Js([Js('katex')]), Js([var.get('htmlNode')]))) - return var.get('buildTree_displayWrap')(var.get('katexNode'), var.get('settings')) - PyJs_buildHTMLTree_151_._set_name('buildHTMLTree') - var.put('buildTree_buildHTMLTree', PyJs_buildHTMLTree_151_) - var.put('src_buildTree', var.get('buildTree_buildTree')) - var.put('stretchyCodePoint', Js({'widehat':Js('^'),'widecheck':Js('ˇ'),'widetilde':Js('~'),'utilde':Js('~'),'overleftarrow':Js('←'),'underleftarrow':Js('←'),'xleftarrow':Js('←'),'overrightarrow':Js('→'),'underrightarrow':Js('→'),'xrightarrow':Js('→'),'underbrace':Js('⏟'),'overbrace':Js('⏞'),'overgroup':Js('⏠'),'undergroup':Js('⏡'),'overleftrightarrow':Js('↔'),'underleftrightarrow':Js('↔'),'xleftrightarrow':Js('↔'),'Overrightarrow':Js('⇒'),'xRightarrow':Js('⇒'),'overleftharpoon':Js('↼'),'xleftharpoonup':Js('↼'),'overrightharpoon':Js('⇀'),'xrightharpoonup':Js('⇀'),'xLeftarrow':Js('⇐'),'xLeftrightarrow':Js('⇔'),'xhookleftarrow':Js('↩'),'xhookrightarrow':Js('↪'),'xmapsto':Js('↦'),'xrightharpoondown':Js('⇁'),'xleftharpoondown':Js('↽'),'xrightleftharpoons':Js('⇌'),'xleftrightharpoons':Js('⇋'),'xtwoheadleftarrow':Js('↞'),'xtwoheadrightarrow':Js('↠'),'xlongequal':Js('='),'xtofrom':Js('⇄'),'xrightleftarrows':Js('⇄'),'xrightequilibrium':Js('⇌'),'xleftequilibrium':Js('⇋')})) - @Js - def PyJs_mathMLnode_152_(label, this, arguments, var=var): - var = Scope({'label':label, 'this':this, 'arguments':arguments, 'mathMLnode':PyJs_mathMLnode_152_}, var) - var.registers(['node', 'label']) - var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mo'), Js([var.get('mathMLTree').get('TextNode').create(var.get('stretchyCodePoint').get(var.get('label').callprop('substr', Js(1.0))))]))) + return var.get('displayWrap')(var.get('katexNode'), var.get('settings')) + PyJs_buildHTMLTree_164_._set_name('buildHTMLTree') + var.put('buildHTMLTree', PyJs_buildHTMLTree_164_) + var.put('src_buildTree', (var.get(u"null") and var.get('buildTree'))) + pass + var.put('stretchyCodePoint', Js({'widehat':Js('^'),'widecheck':Js('ˇ'),'widetilde':Js('~'),'utilde':Js('~'),'overleftarrow':Js('←'),'underleftarrow':Js('←'),'xleftarrow':Js('←'),'overrightarrow':Js('→'),'underrightarrow':Js('→'),'xrightarrow':Js('→'),'underbrace':Js('⏟'),'overbrace':Js('⏞'),'overgroup':Js('⏠'),'undergroup':Js('⏡'),'overleftrightarrow':Js('↔'),'underleftrightarrow':Js('↔'),'xleftrightarrow':Js('↔'),'Overrightarrow':Js('⇒'),'xRightarrow':Js('⇒'),'overleftharpoon':Js('↼'),'xleftharpoonup':Js('↼'),'overrightharpoon':Js('⇀'),'xrightharpoonup':Js('⇀'),'xLeftarrow':Js('⇐'),'xLeftrightarrow':Js('⇔'),'xhookleftarrow':Js('↩'),'xhookrightarrow':Js('↪'),'xmapsto':Js('↦'),'xrightharpoondown':Js('⇁'),'xleftharpoondown':Js('↽'),'xrightleftharpoons':Js('⇌'),'xleftrightharpoons':Js('⇋'),'xtwoheadleftarrow':Js('↞'),'xtwoheadrightarrow':Js('↠'),'xlongequal':Js('='),'xtofrom':Js('⇄'),'xrightleftarrows':Js('⇄'),'xrightequilibrium':Js('⇌'),'xleftequilibrium':Js('⇋'),'\\cdrightarrow':Js('→'),'\\cdleftarrow':Js('←'),'\\cdlongequal':Js('=')})) + @Js + def PyJs_mathMLnode_165_(label, this, arguments, var=var): + var = Scope({'label':label, 'this':this, 'arguments':arguments, 'mathMLnode':PyJs_mathMLnode_165_}, var) + var.registers(['label', 'node']) + var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mo'), Js([var.get('mathMLTree').get('TextNode').create(var.get('stretchyCodePoint').get(var.get('label').callprop('replace', JsRegExp('/^\\\\/'), Js(''))))]))) var.get('node').callprop('setAttribute', Js('stretchy'), Js('true')) return var.get('node') - PyJs_mathMLnode_152_._set_name('mathMLnode') - var.put('stretchy_mathMLnode', PyJs_mathMLnode_152_) - var.put('katexImagesData', Js({'overrightarrow':Js([Js([Js('rightarrow')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'overleftarrow':Js([Js([Js('leftarrow')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'underrightarrow':Js([Js([Js('rightarrow')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'underleftarrow':Js([Js([Js('leftarrow')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'xrightarrow':Js([Js([Js('rightarrow')]), Js(1.469), Js(522.0), Js('xMaxYMin')]),'xleftarrow':Js([Js([Js('leftarrow')]), Js(1.469), Js(522.0), Js('xMinYMin')]),'Overrightarrow':Js([Js([Js('doublerightarrow')]), Js(0.888), Js(560.0), Js('xMaxYMin')]),'xRightarrow':Js([Js([Js('doublerightarrow')]), Js(1.526), Js(560.0), Js('xMaxYMin')]),'xLeftarrow':Js([Js([Js('doubleleftarrow')]), Js(1.526), Js(560.0), Js('xMinYMin')]),'overleftharpoon':Js([Js([Js('leftharpoon')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'xleftharpoonup':Js([Js([Js('leftharpoon')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'xleftharpoondown':Js([Js([Js('leftharpoondown')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'overrightharpoon':Js([Js([Js('rightharpoon')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'xrightharpoonup':Js([Js([Js('rightharpoon')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'xrightharpoondown':Js([Js([Js('rightharpoondown')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'xlongequal':Js([Js([Js('longequal')]), Js(0.888), Js(334.0), Js('xMinYMin')]),'xtwoheadleftarrow':Js([Js([Js('twoheadleftarrow')]), Js(0.888), Js(334.0), Js('xMinYMin')]),'xtwoheadrightarrow':Js([Js([Js('twoheadrightarrow')]), Js(0.888), Js(334.0), Js('xMaxYMin')]),'overleftrightarrow':Js([Js([Js('leftarrow'), Js('rightarrow')]), Js(0.888), Js(522.0)]),'overbrace':Js([Js([Js('leftbrace'), Js('midbrace'), Js('rightbrace')]), Js(1.6), Js(548.0)]),'underbrace':Js([Js([Js('leftbraceunder'), Js('midbraceunder'), Js('rightbraceunder')]), Js(1.6), Js(548.0)]),'underleftrightarrow':Js([Js([Js('leftarrow'), Js('rightarrow')]), Js(0.888), Js(522.0)]),'xleftrightarrow':Js([Js([Js('leftarrow'), Js('rightarrow')]), Js(1.75), Js(522.0)]),'xLeftrightarrow':Js([Js([Js('doubleleftarrow'), Js('doublerightarrow')]), Js(1.75), Js(560.0)]),'xrightleftharpoons':Js([Js([Js('leftharpoondownplus'), Js('rightharpoonplus')]), Js(1.75), Js(716.0)]),'xleftrightharpoons':Js([Js([Js('leftharpoonplus'), Js('rightharpoondownplus')]), Js(1.75), Js(716.0)]),'xhookleftarrow':Js([Js([Js('leftarrow'), Js('righthook')]), Js(1.08), Js(522.0)]),'xhookrightarrow':Js([Js([Js('lefthook'), Js('rightarrow')]), Js(1.08), Js(522.0)]),'overlinesegment':Js([Js([Js('leftlinesegment'), Js('rightlinesegment')]), Js(0.888), Js(522.0)]),'underlinesegment':Js([Js([Js('leftlinesegment'), Js('rightlinesegment')]), Js(0.888), Js(522.0)]),'overgroup':Js([Js([Js('leftgroup'), Js('rightgroup')]), Js(0.888), Js(342.0)]),'undergroup':Js([Js([Js('leftgroupunder'), Js('rightgroupunder')]), Js(0.888), Js(342.0)]),'xmapsto':Js([Js([Js('leftmapsto'), Js('rightarrow')]), Js(1.5), Js(522.0)]),'xtofrom':Js([Js([Js('leftToFrom'), Js('rightToFrom')]), Js(1.75), Js(528.0)]),'xrightleftarrows':Js([Js([Js('baraboveleftarrow'), Js('rightarrowabovebar')]), Js(1.75), Js(901.0)]),'xrightequilibrium':Js([Js([Js('baraboveshortleftharpoon'), Js('rightharpoonaboveshortbar')]), Js(1.75), Js(716.0)]),'xleftequilibrium':Js([Js([Js('shortbaraboveleftharpoon'), Js('shortrightharpoonabovebar')]), Js(1.75), Js(716.0)])})) + PyJs_mathMLnode_165_._set_name('mathMLnode') + var.put('mathMLnode', PyJs_mathMLnode_165_) + var.put('katexImagesData', Js({'overrightarrow':Js([Js([Js('rightarrow')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'overleftarrow':Js([Js([Js('leftarrow')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'underrightarrow':Js([Js([Js('rightarrow')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'underleftarrow':Js([Js([Js('leftarrow')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'xrightarrow':Js([Js([Js('rightarrow')]), Js(1.469), Js(522.0), Js('xMaxYMin')]),'\\cdrightarrow':Js([Js([Js('rightarrow')]), Js(3.0), Js(522.0), Js('xMaxYMin')]),'xleftarrow':Js([Js([Js('leftarrow')]), Js(1.469), Js(522.0), Js('xMinYMin')]),'\\cdleftarrow':Js([Js([Js('leftarrow')]), Js(3.0), Js(522.0), Js('xMinYMin')]),'Overrightarrow':Js([Js([Js('doublerightarrow')]), Js(0.888), Js(560.0), Js('xMaxYMin')]),'xRightarrow':Js([Js([Js('doublerightarrow')]), Js(1.526), Js(560.0), Js('xMaxYMin')]),'xLeftarrow':Js([Js([Js('doubleleftarrow')]), Js(1.526), Js(560.0), Js('xMinYMin')]),'overleftharpoon':Js([Js([Js('leftharpoon')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'xleftharpoonup':Js([Js([Js('leftharpoon')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'xleftharpoondown':Js([Js([Js('leftharpoondown')]), Js(0.888), Js(522.0), Js('xMinYMin')]),'overrightharpoon':Js([Js([Js('rightharpoon')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'xrightharpoonup':Js([Js([Js('rightharpoon')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'xrightharpoondown':Js([Js([Js('rightharpoondown')]), Js(0.888), Js(522.0), Js('xMaxYMin')]),'xlongequal':Js([Js([Js('longequal')]), Js(0.888), Js(334.0), Js('xMinYMin')]),'\\cdlongequal':Js([Js([Js('longequal')]), Js(3.0), Js(334.0), Js('xMinYMin')]),'xtwoheadleftarrow':Js([Js([Js('twoheadleftarrow')]), Js(0.888), Js(334.0), Js('xMinYMin')]),'xtwoheadrightarrow':Js([Js([Js('twoheadrightarrow')]), Js(0.888), Js(334.0), Js('xMaxYMin')]),'overleftrightarrow':Js([Js([Js('leftarrow'), Js('rightarrow')]), Js(0.888), Js(522.0)]),'overbrace':Js([Js([Js('leftbrace'), Js('midbrace'), Js('rightbrace')]), Js(1.6), Js(548.0)]),'underbrace':Js([Js([Js('leftbraceunder'), Js('midbraceunder'), Js('rightbraceunder')]), Js(1.6), Js(548.0)]),'underleftrightarrow':Js([Js([Js('leftarrow'), Js('rightarrow')]), Js(0.888), Js(522.0)]),'xleftrightarrow':Js([Js([Js('leftarrow'), Js('rightarrow')]), Js(1.75), Js(522.0)]),'xLeftrightarrow':Js([Js([Js('doubleleftarrow'), Js('doublerightarrow')]), Js(1.75), Js(560.0)]),'xrightleftharpoons':Js([Js([Js('leftharpoondownplus'), Js('rightharpoonplus')]), Js(1.75), Js(716.0)]),'xleftrightharpoons':Js([Js([Js('leftharpoonplus'), Js('rightharpoondownplus')]), Js(1.75), Js(716.0)]),'xhookleftarrow':Js([Js([Js('leftarrow'), Js('righthook')]), Js(1.08), Js(522.0)]),'xhookrightarrow':Js([Js([Js('lefthook'), Js('rightarrow')]), Js(1.08), Js(522.0)]),'overlinesegment':Js([Js([Js('leftlinesegment'), Js('rightlinesegment')]), Js(0.888), Js(522.0)]),'underlinesegment':Js([Js([Js('leftlinesegment'), Js('rightlinesegment')]), Js(0.888), Js(522.0)]),'overgroup':Js([Js([Js('leftgroup'), Js('rightgroup')]), Js(0.888), Js(342.0)]),'undergroup':Js([Js([Js('leftgroupunder'), Js('rightgroupunder')]), Js(0.888), Js(342.0)]),'xmapsto':Js([Js([Js('leftmapsto'), Js('rightarrow')]), Js(1.5), Js(522.0)]),'xtofrom':Js([Js([Js('leftToFrom'), Js('rightToFrom')]), Js(1.75), Js(528.0)]),'xrightleftarrows':Js([Js([Js('baraboveleftarrow'), Js('rightarrowabovebar')]), Js(1.75), Js(901.0)]),'xrightequilibrium':Js([Js([Js('baraboveshortleftharpoon'), Js('rightharpoonaboveshortbar')]), Js(1.75), Js(716.0)]),'xleftequilibrium':Js([Js([Js('shortbaraboveleftharpoon'), Js('shortrightharpoonabovebar')]), Js(1.75), Js(716.0)])})) @Js - def PyJs_groupLength_153_(arg, this, arguments, var=var): - var = Scope({'arg':arg, 'this':this, 'arguments':arguments, 'groupLength':PyJs_groupLength_153_}, var) + def PyJs_groupLength_166_(arg, this, arguments, var=var): + var = Scope({'arg':arg, 'this':this, 'arguments':arguments, 'groupLength':PyJs_groupLength_166_}, var) var.registers(['arg']) if PyJsStrictEq(var.get('arg').get('type'),Js('ordgroup')): return var.get('arg').get('body').get('length') else: return Js(1.0) - PyJs_groupLength_153_._set_name('groupLength') - var.put('groupLength', PyJs_groupLength_153_) + PyJs_groupLength_166_._set_name('groupLength') + var.put('groupLength', PyJs_groupLength_166_) @Js - def PyJs_svgSpan_154_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'svgSpan':PyJs_svgSpan_154_}, var) - var.registers(['_buildSvgSpan_', 'group', 'options', 'buildSvgSpan_', 'span', 'height', 'minWidth']) + def PyJs_svgSpan_167_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'svgSpan':PyJs_svgSpan_167_}, var) + var.registers(['group', 'buildSvgSpan_', 'span', '_buildSvgSpan_', 'minWidth', 'height', 'options']) @Js def PyJsHoisted_buildSvgSpan__(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) - var.registers(['aligns', 'label', 'numChars', 'data', '_path', 'svgNode', '_svgNode', '_viewBoxHeight', 'align1', 'pathName', 'i', '_minWidth', 'spans', 'imgIndex', '_span', 'numSvgChildren', '_height2', 'widthClasses', 'viewBoxHeight', 'grp', 'viewBoxWidth', 'path', '_height', 'paths']) + var.registers(['pathName', '_minWidth', 'data', 'widthClasses', 'path', 'i', '_path', 'numSvgChildren', 'numChars', '_svgNode', '_height', 'viewBoxWidth', 'spans', 'align1', 'aligns', '_height2', 'viewBoxHeight', 'paths', 'imgIndex', '_viewBoxHeight', 'grp', '_span', 'svgNode', 'label']) var.put('viewBoxWidth', Js(400000.0)) var.put('label', var.get('group').get('label').callprop('substr', Js(1.0))) if var.get('utils').callprop('contains', Js([Js('widehat'), Js('widecheck'), Js('widetilde'), Js('utilde')]), var.get('label')): @@ -3596,7 +3914,7 @@ def PyJsHoisted_buildSvgSpan__(this, arguments, var=var): var.put('viewBoxHeight', Js([Js(0.0), Js(260.0), Js(286.0), Js(306.0), Js(312.0)]).get(var.get('imgIndex'))) var.put('_height', Js([Js(0.0), Js(0.26), Js(0.286), Js(0.3), Js(0.306), Js(0.34)]).get(var.get('imgIndex'))) var.put('pathName', (Js('tilde')+var.get('imgIndex'))) - var.put('path', var.get('domTree_PathNode').create(var.get('pathName'))) + var.put('path', var.get('PathNode').create(var.get('pathName'))) var.put('svgNode', var.get('SvgNode').create(Js([var.get('path')]), Js({'width':Js('100%'),'height':(var.get('_height')+Js('em')),'viewBox':(((Js('0 0 ')+var.get('viewBoxWidth'))+Js(' '))+var.get('viewBoxHeight')),'preserveAspectRatio':Js('none')}))) return Js({'span':var.get('buildCommon').callprop('makeSvgSpan', Js([]), Js([var.get('svgNode')]), var.get('options')),'minWidth':Js(0.0),'height':var.get('_height')}) else: @@ -3628,7 +3946,7 @@ def PyJsHoisted_buildSvgSpan__(this, arguments, var=var): var.put('i', Js(0.0)) while (var.get('i')Js(0.0)): var.get('span').get('style').put('minWidth', (var.get('minWidth')+Js('em'))) return var.get('span') - PyJs_svgSpan_154_._set_name('svgSpan') - var.put('stretchy_svgSpan', PyJs_svgSpan_154_) + PyJs_svgSpan_167_._set_name('svgSpan') + var.put('svgSpan', PyJs_svgSpan_167_) @Js - def PyJs_encloseSpan_155_(inner, label, pad, options, this, arguments, var=var): - var = Scope({'inner':inner, 'label':label, 'pad':pad, 'options':options, 'this':this, 'arguments':arguments, 'encloseSpan':PyJs_encloseSpan_155_}, var) - var.registers(['label', 'pad', 'img', 'color', 'options', 'totalHeight', 'svgNode', 'inner', 'lines']) + def PyJs_encloseSpan_168_(inner, label, topPad, bottomPad, options, this, arguments, var=var): + var = Scope({'inner':inner, 'label':label, 'topPad':topPad, 'bottomPad':bottomPad, 'options':options, 'this':this, 'arguments':arguments, 'encloseSpan':PyJs_encloseSpan_168_}, var) + var.registers(['topPad', 'img', 'totalHeight', 'inner', 'color', 'bottomPad', 'lines', 'svgNode', 'label', 'options']) pass - var.put('totalHeight', ((var.get('inner').get('height')+var.get('inner').get('depth'))+(Js(2.0)*var.get('pad')))) - if JsRegExp('/fbox|color/').callprop('test', var.get('label')): + var.put('totalHeight', (((var.get('inner').get('height')+var.get('inner').get('depth'))+var.get('topPad'))+var.get('bottomPad'))) + if JsRegExp('/fbox|color|angl/').callprop('test', var.get('label')): var.put('img', var.get('buildCommon').callprop('makeSpan', Js([Js('stretchy'), var.get('label')]), Js([]), var.get('options'))) if PyJsStrictEq(var.get('label'),Js('fbox')): var.put('color', (var.get('options').get('color') and var.get('options').callprop('getColor'))) @@ -3676,32 +3994,36 @@ def PyJs_encloseSpan_155_(inner, label, pad, options, this, arguments, var=var): var.get('img').put('height', var.get('totalHeight')) var.get('img').get('style').put('height', (var.get('totalHeight')+Js('em'))) return var.get('img') - PyJs_encloseSpan_155_._set_name('encloseSpan') - var.put('stretchy_encloseSpan', PyJs_encloseSpan_155_) - var.put('stretchy', Js({'encloseSpan':var.get('stretchy_encloseSpan'),'mathMLnode':var.get('stretchy_mathMLnode'),'svgSpan':var.get('stretchy_svgSpan')})) + PyJs_encloseSpan_168_._set_name('encloseSpan') + var.put('encloseSpan', PyJs_encloseSpan_168_) + var.put('stretchy', Js({'encloseSpan':var.get('encloseSpan'),'mathMLnode':var.get('mathMLnode'),'svgSpan':var.get('svgSpan')})) + pass + pass + pass + pass + pass @Js - def PyJs_htmlBuilder_156_(grp, options, this, arguments, var=var): - var = Scope({'grp':grp, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_156_}, var) - var.registers(['left', 'accentWrap', 'group', 'body', 'supSubGroup', 'options', 'accentBody', 'clearance', 'accentFull', 'mustShift', 'accent', 'baseGroup', 'width', 'base', 'grp', 'skew', 'baseChar', 'supSub']) + def PyJs_htmlBuilder_169_(grp, options, this, arguments, var=var): + var = Scope({'grp':grp, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_169_}, var) + var.registers(['accent', 'baseGroup', 'grp', 'base', 'skew', 'group', 'width', 'baseChar', 'body', 'accentBody', 'left', 'supSubGroup', 'accentFull', 'accentWrap', 'mustShift', 'options', 'clearance']) pass pass - var.put('supSub', var.get('checkNodeType')(var.get('grp'), Js('supsub'))) pass - if var.get('supSub'): - var.put('group', var.get('assertNodeType')(var.get('supSub').get('base'), Js('accent'))) + if (var.get('grp') and PyJsStrictEq(var.get('grp').get('type'),Js('supsub'))): + var.put('group', var.get('assertNodeType')(var.get('grp').get('base'), Js('accent'))) var.put('base', var.get('group').get('base')) - var.get('supSub').put('base', var.get('base')) - var.put('supSubGroup', var.get('assertSpan')(var.get('buildHTML_buildGroup')(var.get('supSub'), var.get('options')))) - var.get('supSub').put('base', var.get('group')) + var.get('grp').put('base', var.get('base')) + var.put('supSubGroup', var.get('assertSpan')(var.get('buildGroup')(var.get('grp'), var.get('options')))) + var.get('grp').put('base', var.get('group')) else: var.put('group', var.get('assertNodeType')(var.get('grp'), Js('accent'))) var.put('base', var.get('group').get('base')) - var.put('body', var.get('buildHTML_buildGroup')(var.get('base'), var.get('options').callprop('havingCrampedStyle'))) + var.put('body', var.get('buildGroup')(var.get('base'), var.get('options').callprop('havingCrampedStyle'))) var.put('mustShift', (var.get('group').get('isShifty') and var.get('utils').callprop('isCharacterBox', var.get('base')))) var.put('skew', Js(0.0)) if var.get('mustShift'): var.put('baseChar', var.get('utils').callprop('getBaseElem', var.get('base'))) - var.put('baseGroup', var.get('buildHTML_buildGroup')(var.get('baseChar'), var.get('options').callprop('havingCrampedStyle'))) + var.put('baseGroup', var.get('buildGroup')(var.get('baseChar'), var.get('options').callprop('havingCrampedStyle'))) var.put('skew', var.get('assertSymbolDomNode')(var.get('baseGroup')).get('skew')) var.put('clearance', var.get('Math').callprop('min', var.get('body').get('height'), var.get('options').callprop('fontMetrics').get('xHeight'))) pass @@ -3712,7 +4034,8 @@ def PyJs_htmlBuilder_156_(grp, options, this, arguments, var=var): var.put('accent', var.get('buildCommon').callprop('staticSvg', Js('vec'), var.get('options'))) var.put('width', var.get('buildCommon').get('svgData').get('vec').get('1')) else: - var.put('accent', var.get('buildCommon').callprop('makeSymbol', var.get('group').get('label'), Js('Main-Regular'), var.get('group').get('mode'), var.get('options'))) + var.put('accent', var.get('buildCommon').callprop('makeOrd', Js({'mode':var.get('group').get('mode'),'text':var.get('group').get('label')}), var.get('options'), Js('textord'))) + var.put('accent', var.get('assertSymbolDomNode')(var.get('accent'))) var.get('accent').put('italic', Js(0.0)) var.put('width', var.get('accent').get('width')) var.put('accentBody', var.get('buildCommon').callprop('makeSpan', Js([Js('accent-body')]), Js([var.get('accent')]))) @@ -3729,9 +4052,9 @@ def PyJs_htmlBuilder_156_(grp, options, this, arguments, var=var): var.put('accentBody', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('firstBaseline'),'children':Js([Js({'type':Js('elem'),'elem':var.get('body')}), Js({'type':Js('kern'),'size':(-var.get('clearance'))}), Js({'type':Js('elem'),'elem':var.get('accentBody')})])}), var.get('options'))) else: var.put('accentBody', var.get('stretchy').callprop('svgSpan', var.get('group'), var.get('options'))) - def PyJs_LONG_157_(var=var): + def PyJs_LONG_170_(var=var): return var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('firstBaseline'),'children':Js([Js({'type':Js('elem'),'elem':var.get('body')}), Js({'type':Js('elem'),'elem':var.get('accentBody'),'wrapperClasses':Js([Js('svg-align')]),'wrapperStyle':(Js({'width':((Js('calc(100% - ')+(Js(2.0)*var.get('skew')))+Js('em)')),'marginLeft':((Js(2.0)*var.get('skew'))+Js('em'))}) if (var.get('skew')>Js(0.0)) else var.get('undefined'))})])}), var.get('options')) - var.put('accentBody', PyJs_LONG_157_()) + var.put('accentBody', PyJs_LONG_170_()) var.put('accentWrap', var.get('buildCommon').callprop('makeSpan', Js([Js('mord'), Js('accent')]), Js([var.get('accentBody')]), var.get('options'))) if var.get('supSubGroup'): var.get('supSubGroup').get('children').put('0', var.get('accentWrap')) @@ -3740,108 +4063,115 @@ def PyJs_LONG_157_(var=var): return var.get('supSubGroup') else: return var.get('accentWrap') - PyJs_htmlBuilder_156_._set_name('htmlBuilder') - var.put('accent_htmlBuilder', PyJs_htmlBuilder_156_) + PyJs_htmlBuilder_169_._set_name('htmlBuilder') + var.put('htmlBuilder', PyJs_htmlBuilder_169_) @Js - def PyJs_mathmlBuilder_158_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_158_}, var) - var.registers(['node', 'group', 'options', 'accentNode']) - var.put('accentNode', (var.get('stretchy').callprop('mathMLnode', var.get('group').get('label')) if var.get('group').get('isStretchy') else var.get('mathMLTree').get('MathNode').create(Js('mo'), Js([var.get('buildMathML_makeText')(var.get('group').get('label'), var.get('group').get('mode'))])))) + def PyJs_mathmlBuilder_171_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_171_}, var) + var.registers(['group', 'options', 'accentNode', 'node']) + var.put('accentNode', (var.get('stretchy').callprop('mathMLnode', var.get('group').get('label')) if var.get('group').get('isStretchy') else var.get('mathMLTree').get('MathNode').create(Js('mo'), Js([var.get('makeText')(var.get('group').get('label'), var.get('group').get('mode'))])))) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mover'), Js([var.get('buildMathML_buildGroup')(var.get('group').get('base'), var.get('options')), var.get('accentNode')]))) var.get('node').callprop('setAttribute', Js('accent'), Js('true')) return var.get('node') - PyJs_mathmlBuilder_158_._set_name('mathmlBuilder') - var.put('accent_mathmlBuilder', PyJs_mathmlBuilder_158_) + PyJs_mathmlBuilder_171_._set_name('mathmlBuilder') + var.put('mathmlBuilder', PyJs_mathmlBuilder_171_) @Js - def PyJs_anonymous_159_(accent, this, arguments, var=var): + def PyJs_anonymous_172_(accent, this, arguments, var=var): var = Scope({'accent':accent, 'this':this, 'arguments':arguments}, var) var.registers(['accent']) return (Js('\\')+var.get('accent')) - PyJs_anonymous_159_._set_name('anonymous') - var.put('NON_STRETCHY_ACCENT_REGEX', var.get('RegExp').create(Js([Js('\\acute'), Js('\\grave'), Js('\\ddot'), Js('\\tilde'), Js('\\bar'), Js('\\breve'), Js('\\check'), Js('\\hat'), Js('\\vec'), Js('\\dot'), Js('\\mathring')]).callprop('map', PyJs_anonymous_159_).callprop('join', Js('|')))) - def PyJs_LONG_161_(var=var): - @Js - def PyJs_handler_160_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_160_}, var) - var.registers(['isShifty', 'isStretchy', 'context', 'args', 'base']) - var.put('base', var.get('args').get('0')) + PyJs_anonymous_172_._set_name('anonymous') + var.put('NON_STRETCHY_ACCENT_REGEX', var.get('RegExp').create(Js([Js('\\acute'), Js('\\grave'), Js('\\ddot'), Js('\\tilde'), Js('\\bar'), Js('\\breve'), Js('\\check'), Js('\\hat'), Js('\\vec'), Js('\\dot'), Js('\\mathring')]).callprop('map', PyJs_anonymous_172_).callprop('join', Js('|')))) + def PyJs_LONG_174_(var=var): + @Js + def PyJs_handler_173_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_173_}, var) + var.registers(['base', 'context', 'isShifty', 'isStretchy', 'args']) + var.put('base', var.get('normalizeArgument')(var.get('args').get('0'))) var.put('isStretchy', var.get('NON_STRETCHY_ACCENT_REGEX').callprop('test', var.get('context').get('funcName')).neg()) var.put('isShifty', (((var.get('isStretchy').neg() or PyJsStrictEq(var.get('context').get('funcName'),Js('\\widehat'))) or PyJsStrictEq(var.get('context').get('funcName'),Js('\\widetilde'))) or PyJsStrictEq(var.get('context').get('funcName'),Js('\\widecheck')))) return Js({'type':Js('accent'),'mode':var.get('context').get('parser').get('mode'),'label':var.get('context').get('funcName'),'isStretchy':var.get('isStretchy'),'isShifty':var.get('isShifty'),'base':var.get('base')}) - PyJs_handler_160_._set_name('handler') - return var.get('defineFunction')(Js({'type':Js('accent'),'names':Js([Js('\\acute'), Js('\\grave'), Js('\\ddot'), Js('\\tilde'), Js('\\bar'), Js('\\breve'), Js('\\check'), Js('\\hat'), Js('\\vec'), Js('\\dot'), Js('\\mathring'), Js('\\widecheck'), Js('\\widehat'), Js('\\widetilde'), Js('\\overrightarrow'), Js('\\overleftarrow'), Js('\\Overrightarrow'), Js('\\overleftrightarrow'), Js('\\overgroup'), Js('\\overlinesegment'), Js('\\overleftharpoon'), Js('\\overrightharpoon')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_160_,'htmlBuilder':var.get('accent_htmlBuilder'),'mathmlBuilder':var.get('accent_mathmlBuilder')})) - PyJs_LONG_161_() - def PyJs_LONG_163_(var=var): - @Js - def PyJs_handler_162_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_162_}, var) - var.registers(['base', 'context', 'args']) + PyJs_handler_173_._set_name('handler') + return var.get('defineFunction')(Js({'type':Js('accent'),'names':Js([Js('\\acute'), Js('\\grave'), Js('\\ddot'), Js('\\tilde'), Js('\\bar'), Js('\\breve'), Js('\\check'), Js('\\hat'), Js('\\vec'), Js('\\dot'), Js('\\mathring'), Js('\\widecheck'), Js('\\widehat'), Js('\\widetilde'), Js('\\overrightarrow'), Js('\\overleftarrow'), Js('\\Overrightarrow'), Js('\\overleftrightarrow'), Js('\\overgroup'), Js('\\overlinesegment'), Js('\\overleftharpoon'), Js('\\overrightharpoon')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_173_,'htmlBuilder':var.get('htmlBuilder'),'mathmlBuilder':var.get('mathmlBuilder')})) + PyJs_LONG_174_() + def PyJs_LONG_176_(var=var): + @Js + def PyJs_handler_175_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_175_}, var) + var.registers(['args', 'context', 'mode', 'base']) var.put('base', var.get('args').get('0')) - return Js({'type':Js('accent'),'mode':var.get('context').get('parser').get('mode'),'label':var.get('context').get('funcName'),'isStretchy':Js(False),'isShifty':Js(True),'base':var.get('base')}) - PyJs_handler_162_._set_name('handler') - return var.get('defineFunction')(Js({'type':Js('accent'),'names':Js([Js("\\'"), Js('\\`'), Js('\\^'), Js('\\~'), Js('\\='), Js('\\u'), Js('\\.'), Js('\\"'), Js('\\r'), Js('\\H'), Js('\\v'), Js('\\textcircled')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True),'allowedInMath':Js(False)}),'handler':PyJs_handler_162_,'htmlBuilder':var.get('accent_htmlBuilder'),'mathmlBuilder':var.get('accent_mathmlBuilder')})) - PyJs_LONG_163_() - @Js - def PyJs_handler_164_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_164_}, var) - var.registers(['funcName', 'base', '_ref', 'args', 'parser']) + var.put('mode', var.get('context').get('parser').get('mode')) + if PyJsStrictEq(var.get('mode'),Js('math')): + var.get('context').get('parser').get('settings').callprop('reportNonstrict', Js('mathVsTextAccents'), ((Js("LaTeX's accent ")+var.get('context').get('funcName'))+Js(' works only in text mode'))) + var.put('mode', Js('text')) + return Js({'type':Js('accent'),'mode':var.get('mode'),'label':var.get('context').get('funcName'),'isStretchy':Js(False),'isShifty':Js(True),'base':var.get('base')}) + PyJs_handler_175_._set_name('handler') + return var.get('defineFunction')(Js({'type':Js('accent'),'names':Js([Js("\\'"), Js('\\`'), Js('\\^'), Js('\\~'), Js('\\='), Js('\\u'), Js('\\.'), Js('\\"'), Js('\\r'), Js('\\H'), Js('\\v'), Js('\\textcircled')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True),'allowedInMath':Js(True),'argTypes':Js([Js('primitive')])}),'handler':PyJs_handler_175_,'htmlBuilder':var.get('htmlBuilder'),'mathmlBuilder':var.get('mathmlBuilder')})) + PyJs_LONG_176_() + pass + @Js + def PyJs_handler_177_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_177_}, var) + var.registers(['_ref', 'base', 'parser', 'funcName', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('funcName', var.get('_ref').get('funcName')) var.put('base', var.get('args').get('0')) return Js({'type':Js('accentUnder'),'mode':var.get('parser').get('mode'),'label':var.get('funcName'),'base':var.get('base')}) - PyJs_handler_164_._set_name('handler') + PyJs_handler_177_._set_name('handler') @Js - def PyJs_htmlBuilder_165_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_165_}, var) - var.registers(['kern', 'group', 'options', 'accentBody', 'innerGroup', 'vlist']) - var.put('innerGroup', var.get('buildHTML_buildGroup')(var.get('group').get('base'), var.get('options'))) + def PyJs_htmlBuilder_178_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_178_}, var) + var.registers(['vlist', 'kern', 'group', 'innerGroup', 'accentBody', 'options']) + var.put('innerGroup', var.get('buildGroup')(var.get('group').get('base'), var.get('options'))) var.put('accentBody', var.get('stretchy').callprop('svgSpan', var.get('group'), var.get('options'))) var.put('kern', (Js(0.12) if PyJsStrictEq(var.get('group').get('label'),Js('\\utilde')) else Js(0.0))) - var.put('vlist', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('bottom'),'positionData':(var.get('accentBody').get('height')+var.get('kern')),'children':Js([Js({'type':Js('elem'),'elem':var.get('accentBody'),'wrapperClasses':Js([Js('svg-align')])}), Js({'type':Js('kern'),'size':var.get('kern')}), Js({'type':Js('elem'),'elem':var.get('innerGroup')})])}), var.get('options'))) + var.put('vlist', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('top'),'positionData':var.get('innerGroup').get('height'),'children':Js([Js({'type':Js('elem'),'elem':var.get('accentBody'),'wrapperClasses':Js([Js('svg-align')])}), Js({'type':Js('kern'),'size':var.get('kern')}), Js({'type':Js('elem'),'elem':var.get('innerGroup')})])}), var.get('options'))) return var.get('buildCommon').callprop('makeSpan', Js([Js('mord'), Js('accentunder')]), Js([var.get('vlist')]), var.get('options')) - PyJs_htmlBuilder_165_._set_name('htmlBuilder') + PyJs_htmlBuilder_178_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_166_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_166_}, var) - var.registers(['node', 'group', 'options', 'accentNode']) + def PyJs_mathmlBuilder_179_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_179_}, var) + var.registers(['group', 'options', 'accentNode', 'node']) var.put('accentNode', var.get('stretchy').callprop('mathMLnode', var.get('group').get('label'))) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('munder'), Js([var.get('buildMathML_buildGroup')(var.get('group').get('base'), var.get('options')), var.get('accentNode')]))) var.get('node').callprop('setAttribute', Js('accentunder'), Js('true')) return var.get('node') - PyJs_mathmlBuilder_166_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('accentUnder'),'names':Js([Js('\\underleftarrow'), Js('\\underrightarrow'), Js('\\underleftrightarrow'), Js('\\undergroup'), Js('\\underlinesegment'), Js('\\utilde')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_164_,'htmlBuilder':PyJs_htmlBuilder_165_,'mathmlBuilder':PyJs_mathmlBuilder_166_})) + PyJs_mathmlBuilder_179_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('accentUnder'),'names':Js([Js('\\underleftarrow'), Js('\\underrightarrow'), Js('\\underleftrightarrow'), Js('\\undergroup'), Js('\\underlinesegment'), Js('\\utilde')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_177_,'htmlBuilder':PyJs_htmlBuilder_178_,'mathmlBuilder':PyJs_mathmlBuilder_179_})) + pass @Js - def PyJs_paddedNode_167_(group, this, arguments, var=var): - var = Scope({'group':group, 'this':this, 'arguments':arguments, 'paddedNode':PyJs_paddedNode_167_}, var) - var.registers(['node', 'group']) + def PyJs_paddedNode_180_(group, this, arguments, var=var): + var = Scope({'group':group, 'this':this, 'arguments':arguments, 'paddedNode':PyJs_paddedNode_180_}, var) + var.registers(['group', 'node']) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mpadded'), (Js([var.get('group')]) if var.get('group') else Js([])))) var.get('node').callprop('setAttribute', Js('width'), Js('+0.6em')) var.get('node').callprop('setAttribute', Js('lspace'), Js('0.3em')) return var.get('node') - PyJs_paddedNode_167_._set_name('paddedNode') - var.put('arrow_paddedNode', PyJs_paddedNode_167_) - def PyJs_LONG_171_(var=var): + PyJs_paddedNode_180_._set_name('paddedNode') + var.put('paddedNode', PyJs_paddedNode_180_) + def PyJs_LONG_184_(var=var): @Js - def PyJs_handler_168_(_ref, args, optArgs, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_168_}, var) - var.registers(['funcName', 'optArgs', '_ref', 'args', 'parser']) + def PyJs_handler_181_(_ref, args, optArgs, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_181_}, var) + var.registers(['_ref', 'funcName', 'parser', 'optArgs', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('funcName', var.get('_ref').get('funcName')) return Js({'type':Js('xArrow'),'mode':var.get('parser').get('mode'),'label':var.get('funcName'),'body':var.get('args').get('0'),'below':var.get('optArgs').get('0')}) - PyJs_handler_168_._set_name('handler') + PyJs_handler_181_._set_name('handler') @Js - def PyJs_htmlBuilder_169_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_169_}, var) - var.registers(['upperGroup', 'newOptions', 'group', 'options', 'arrowBody', 'upperShift', 'arrowShift', 'lowerShift', 'style', 'vlist', 'lowerGroup']) + def PyJs_htmlBuilder_182_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_182_}, var) + var.registers(['vlist', 'lowerShift', 'lowerGroup', 'upperGroup', 'newOptions', 'group', 'arrowPrefix', 'style', 'arrowBody', 'upperShift', 'arrowShift', 'options']) var.put('style', var.get('options').get('style')) var.put('newOptions', var.get('options').callprop('havingStyle', var.get('style').callprop('sup'))) - var.put('upperGroup', var.get('buildCommon').callprop('wrapFragment', var.get('buildHTML_buildGroup')(var.get('group').get('body'), var.get('newOptions'), var.get('options')), var.get('options'))) - var.get('upperGroup').get('classes').callprop('push', Js('x-arrow-pad')) + var.put('upperGroup', var.get('buildCommon').callprop('wrapFragment', var.get('buildGroup')(var.get('group').get('body'), var.get('newOptions'), var.get('options')), var.get('options'))) + var.put('arrowPrefix', (Js('x') if PyJsStrictEq(var.get('group').get('label').callprop('slice', Js(0.0), Js(2.0)),Js('\\x')) else Js('cd'))) + var.get('upperGroup').get('classes').callprop('push', (var.get('arrowPrefix')+Js('-arrow-pad'))) pass if var.get('group').get('below'): var.put('newOptions', var.get('options').callprop('havingStyle', var.get('style').callprop('sub'))) - var.put('lowerGroup', var.get('buildCommon').callprop('wrapFragment', var.get('buildHTML_buildGroup')(var.get('group').get('below'), var.get('newOptions'), var.get('options')), var.get('options'))) - var.get('lowerGroup').get('classes').callprop('push', Js('x-arrow-pad')) + var.put('lowerGroup', var.get('buildCommon').callprop('wrapFragment', var.get('buildGroup')(var.get('group').get('below'), var.get('newOptions'), var.get('options')), var.get('options'))) + var.get('lowerGroup').get('classes').callprop('push', (var.get('arrowPrefix')+Js('-arrow-pad'))) var.put('arrowBody', var.get('stretchy').callprop('svgSpan', var.get('group'), var.get('options'))) var.put('arrowShift', ((-var.get('options').callprop('fontMetrics').get('axisHeight'))+(Js(0.5)*var.get('arrowBody').get('height')))) var.put('upperShift', (((-var.get('options').callprop('fontMetrics').get('axisHeight'))-(Js(0.5)*var.get('arrowBody').get('height')))-Js(0.111))) @@ -3855,35 +4185,120 @@ def PyJs_htmlBuilder_169_(group, options, this, arguments, var=var): var.put('vlist', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('individualShift'),'children':Js([Js({'type':Js('elem'),'elem':var.get('upperGroup'),'shift':var.get('upperShift')}), Js({'type':Js('elem'),'elem':var.get('arrowBody'),'shift':var.get('arrowShift')})])}), var.get('options'))) var.get('vlist').get('children').get('0').get('children').get('0').get('children').get('1').get('classes').callprop('push', Js('svg-align')) return var.get('buildCommon').callprop('makeSpan', Js([Js('mrel'), Js('x-arrow')]), Js([var.get('vlist')]), var.get('options')) - PyJs_htmlBuilder_169_._set_name('htmlBuilder') + PyJs_htmlBuilder_182_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_170_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_170_}, var) - var.registers(['group', 'arrowNode', 'options', 'node', 'lowerNode', 'upperNode', '_lowerNode']) + def PyJs_mathmlBuilder_183_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_183_}, var) + var.registers(['upperNode', '_lowerNode', 'group', 'lowerNode', 'node', 'arrowNode', 'options']) var.put('arrowNode', var.get('stretchy').callprop('mathMLnode', var.get('group').get('label'))) + var.get('arrowNode').callprop('setAttribute', Js('minsize'), (Js('1.75em') if PyJsStrictEq(var.get('group').get('label').callprop('charAt', Js(0.0)),Js('x')) else Js('3.0em'))) pass if var.get('group').get('body'): - var.put('upperNode', var.get('arrow_paddedNode')(var.get('buildMathML_buildGroup')(var.get('group').get('body'), var.get('options')))) + var.put('upperNode', var.get('paddedNode')(var.get('buildMathML_buildGroup')(var.get('group').get('body'), var.get('options')))) if var.get('group').get('below'): - var.put('lowerNode', var.get('arrow_paddedNode')(var.get('buildMathML_buildGroup')(var.get('group').get('below'), var.get('options')))) + var.put('lowerNode', var.get('paddedNode')(var.get('buildMathML_buildGroup')(var.get('group').get('below'), var.get('options')))) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('munderover'), Js([var.get('arrowNode'), var.get('lowerNode'), var.get('upperNode')]))) else: var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mover'), Js([var.get('arrowNode'), var.get('upperNode')]))) else: if var.get('group').get('below'): - var.put('_lowerNode', var.get('arrow_paddedNode')(var.get('buildMathML_buildGroup')(var.get('group').get('below'), var.get('options')))) + var.put('_lowerNode', var.get('paddedNode')(var.get('buildMathML_buildGroup')(var.get('group').get('below'), var.get('options')))) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('munder'), Js([var.get('arrowNode'), var.get('_lowerNode')]))) else: - var.put('node', var.get('arrow_paddedNode')()) + var.put('node', var.get('paddedNode')()) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mover'), Js([var.get('arrowNode'), var.get('node')]))) return var.get('node') - PyJs_mathmlBuilder_170_._set_name('mathmlBuilder') - return var.get('defineFunction')(Js({'type':Js('xArrow'),'names':Js([Js('\\xleftarrow'), Js('\\xrightarrow'), Js('\\xLeftarrow'), Js('\\xRightarrow'), Js('\\xleftrightarrow'), Js('\\xLeftrightarrow'), Js('\\xhookleftarrow'), Js('\\xhookrightarrow'), Js('\\xmapsto'), Js('\\xrightharpoondown'), Js('\\xrightharpoonup'), Js('\\xleftharpoondown'), Js('\\xleftharpoonup'), Js('\\xrightleftharpoons'), Js('\\xleftrightharpoons'), Js('\\xlongequal'), Js('\\xtwoheadrightarrow'), Js('\\xtwoheadleftarrow'), Js('\\xtofrom'), Js('\\xrightleftarrows'), Js('\\xrightequilibrium'), Js('\\xleftequilibrium')]),'props':Js({'numArgs':Js(1.0),'numOptionalArgs':Js(1.0)}),'handler':PyJs_handler_168_,'htmlBuilder':PyJs_htmlBuilder_169_,'mathmlBuilder':PyJs_mathmlBuilder_170_})) - PyJs_LONG_171_() + PyJs_mathmlBuilder_183_._set_name('mathmlBuilder') + return var.get('defineFunction')(Js({'type':Js('xArrow'),'names':Js([Js('\\xleftarrow'), Js('\\xrightarrow'), Js('\\xLeftarrow'), Js('\\xRightarrow'), Js('\\xleftrightarrow'), Js('\\xLeftrightarrow'), Js('\\xhookleftarrow'), Js('\\xhookrightarrow'), Js('\\xmapsto'), Js('\\xrightharpoondown'), Js('\\xrightharpoonup'), Js('\\xleftharpoondown'), Js('\\xleftharpoonup'), Js('\\xrightleftharpoons'), Js('\\xleftrightharpoons'), Js('\\xlongequal'), Js('\\xtwoheadrightarrow'), Js('\\xtwoheadleftarrow'), Js('\\xtofrom'), Js('\\xrightleftarrows'), Js('\\xrightequilibrium'), Js('\\xleftequilibrium'), Js('\\\\cdrightarrow'), Js('\\\\cdleftarrow'), Js('\\\\cdlongequal')]),'props':Js({'numArgs':Js(1.0),'numOptionalArgs':Js(1.0)}),'handler':PyJs_handler_181_,'htmlBuilder':PyJs_htmlBuilder_182_,'mathmlBuilder':PyJs_mathmlBuilder_183_})) + PyJs_LONG_184_() + pass + var.put('cdArrowFunctionName', Js({'>':Js('\\\\cdrightarrow'),'<':Js('\\\\cdleftarrow'),'=':Js('\\\\cdlongequal'),'A':Js('\\uparrow'),'V':Js('\\downarrow'),'|':Js('\\Vert'),'.':Js('no arrow')})) + @Js + def PyJs_newCell_185_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'newCell':PyJs_newCell_185_}, var) + var.registers([]) + return Js({'type':Js('styling'),'body':Js([]),'mode':Js('math'),'style':Js('display')}) + PyJs_newCell_185_._set_name('newCell') + var.put('newCell', PyJs_newCell_185_) + @Js + def PyJs_isStartOfArrow_186_(node, this, arguments, var=var): + var = Scope({'node':node, 'this':this, 'arguments':arguments, 'isStartOfArrow':PyJs_isStartOfArrow_186_}, var) + var.registers(['node']) + return (PyJsStrictEq(var.get('node').get('type'),Js('textord')) and PyJsStrictEq(var.get('node').get('text'),Js('@'))) + PyJs_isStartOfArrow_186_._set_name('isStartOfArrow') + var.put('isStartOfArrow', PyJs_isStartOfArrow_186_) + @Js + def PyJs_isLabelEnd_187_(node, endChar, this, arguments, var=var): + var = Scope({'node':node, 'endChar':endChar, 'this':this, 'arguments':arguments, 'isLabelEnd':PyJs_isLabelEnd_187_}, var) + var.registers(['endChar', 'node']) + return ((PyJsStrictEq(var.get('node').get('type'),Js('mathord')) or PyJsStrictEq(var.get('node').get('type'),Js('atom'))) and PyJsStrictEq(var.get('node').get('text'),var.get('endChar'))) + PyJs_isLabelEnd_187_._set_name('isLabelEnd') + var.put('isLabelEnd', PyJs_isLabelEnd_187_) + pass + pass @Js - def PyJs_handler_172_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_172_}, var) - var.registers(['code', 'i', 'group', 'arg', 'node', '_ref', 'args', 'parser', 'number']) + def PyJs_handler_188_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_188_}, var) + var.registers(['args', '_ref', 'parser', 'funcName']) + var.put('parser', var.get('_ref').get('parser')) + var.put('funcName', var.get('_ref').get('funcName')) + return Js({'type':Js('cdlabel'),'mode':var.get('parser').get('mode'),'side':var.get('funcName').callprop('slice', Js(4.0)),'label':var.get('args').get('0')}) + PyJs_handler_188_._set_name('handler') + @Js + def PyJs_htmlBuilder_189_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_189_}, var) + var.registers(['label', 'group', 'newOptions', 'options']) + var.put('newOptions', var.get('options').callprop('havingStyle', var.get('options').get('style').callprop('sup'))) + var.put('label', var.get('buildCommon').callprop('wrapFragment', var.get('buildGroup')(var.get('group').get('label'), var.get('newOptions'), var.get('options')), var.get('options'))) + var.get('label').get('classes').callprop('push', (Js('cd-label-')+var.get('group').get('side'))) + var.get('label').get('style').put('bottom', ((Js(0.8)-var.get('label').get('depth'))+Js('em'))) + var.get('label').put('height', Js(0.0)) + var.get('label').put('depth', Js(0.0)) + return var.get('label') + PyJs_htmlBuilder_189_._set_name('htmlBuilder') + @Js + def PyJs_mathmlBuilder_190_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_190_}, var) + var.registers(['label', 'group', 'options']) + var.put('label', var.get('mathMLTree').get('MathNode').create(Js('mrow'), Js([var.get('buildMathML_buildGroup')(var.get('group').get('label'), var.get('options'))]))) + var.put('label', var.get('mathMLTree').get('MathNode').create(Js('mpadded'), Js([var.get('label')]))) + var.get('label').callprop('setAttribute', Js('width'), Js('0')) + if PyJsStrictEq(var.get('group').get('side'),Js('left')): + var.get('label').callprop('setAttribute', Js('lspace'), Js('-1width')) + var.get('label').callprop('setAttribute', Js('voffset'), Js('0.7em')) + var.put('label', var.get('mathMLTree').get('MathNode').create(Js('mstyle'), Js([var.get('label')]))) + var.get('label').callprop('setAttribute', Js('displaystyle'), Js('false')) + var.get('label').callprop('setAttribute', Js('scriptlevel'), Js('1')) + return var.get('label') + PyJs_mathmlBuilder_190_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('cdlabel'),'names':Js([Js('\\\\cdleft'), Js('\\\\cdright')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_188_,'htmlBuilder':PyJs_htmlBuilder_189_,'mathmlBuilder':PyJs_mathmlBuilder_190_})) + @Js + def PyJs_handler_191_(_ref2, args, this, arguments, var=var): + var = Scope({'_ref2':_ref2, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_191_}, var) + var.registers(['_ref2', 'parser', 'args']) + var.put('parser', var.get('_ref2').get('parser')) + return Js({'type':Js('cdlabelparent'),'mode':var.get('parser').get('mode'),'fragment':var.get('args').get('0')}) + PyJs_handler_191_._set_name('handler') + @Js + def PyJs_htmlBuilder_192_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_192_}, var) + var.registers(['group', 'options', 'parent']) + var.put('parent', var.get('buildCommon').callprop('wrapFragment', var.get('buildGroup')(var.get('group').get('fragment'), var.get('options')), var.get('options'))) + var.get('parent').get('classes').callprop('push', Js('cd-vert-arrow')) + return var.get('parent') + PyJs_htmlBuilder_192_._set_name('htmlBuilder') + @Js + def PyJs_mathmlBuilder_193_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_193_}, var) + var.registers(['group', 'options']) + return var.get('mathMLTree').get('MathNode').create(Js('mrow'), Js([var.get('buildMathML_buildGroup')(var.get('group').get('fragment'), var.get('options'))])) + PyJs_mathmlBuilder_193_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('cdlabelparent'),'names':Js([Js('\\\\cdparent')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_191_,'htmlBuilder':PyJs_htmlBuilder_192_,'mathmlBuilder':PyJs_mathmlBuilder_193_})) + pass + @Js + def PyJs_handler_194_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_194_}, var) + var.registers(['_ref', 'group', 'parser', 'arg', 'i', 'code', 'node', 'number', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('arg', var.get('assertNodeType')(var.get('args').get('0'), Js('ordgroup'))) var.put('group', var.get('arg').get('body')) @@ -3901,105 +4316,226 @@ def PyJs_handler_172_(_ref, args, this, arguments, var=var): PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('\\@char has non-numeric argument ')+var.get('number')))) raise PyJsTempException return Js({'type':Js('textord'),'mode':var.get('parser').get('mode'),'text':var.get('String').callprop('fromCharCode', var.get('code'))}) - PyJs_handler_172_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('textord'),'names':Js([Js('\\@char')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True)}),'handler':PyJs_handler_172_})) + PyJs_handler_194_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('textord'),'names':Js([Js('\\@char')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True)}),'handler':PyJs_handler_194_})) + pass @Js - def PyJs_htmlBuilder_173_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_173_}, var) + def PyJs_htmlBuilder_195_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_195_}, var) var.registers(['group', 'options', 'elements']) - var.put('elements', var.get('buildHTML_buildExpression')(var.get('group').get('body'), var.get('options').callprop('withColor', var.get('group').get('color')), Js(False))) + var.put('elements', var.get('buildExpression')(var.get('group').get('body'), var.get('options').callprop('withColor', var.get('group').get('color')), Js(False))) return var.get('buildCommon').callprop('makeFragment', var.get('elements')) - PyJs_htmlBuilder_173_._set_name('htmlBuilder') - var.put('color_htmlBuilder', PyJs_htmlBuilder_173_) + PyJs_htmlBuilder_195_._set_name('htmlBuilder') + var.put('color_htmlBuilder', PyJs_htmlBuilder_195_) @Js - def PyJs_mathmlBuilder_174_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_174_}, var) - var.registers(['node', 'inner', 'group', 'options']) + def PyJs_mathmlBuilder_196_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_196_}, var) + var.registers(['inner', 'group', 'options', 'node']) var.put('inner', var.get('buildMathML_buildExpression')(var.get('group').get('body'), var.get('options').callprop('withColor', var.get('group').get('color')))) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mstyle'), var.get('inner'))) var.get('node').callprop('setAttribute', Js('mathcolor'), var.get('group').get('color')) return var.get('node') - PyJs_mathmlBuilder_174_._set_name('mathmlBuilder') - var.put('color_mathmlBuilder', PyJs_mathmlBuilder_174_) + PyJs_mathmlBuilder_196_._set_name('mathmlBuilder') + var.put('color_mathmlBuilder', PyJs_mathmlBuilder_196_) @Js - def PyJs_handler_175_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_175_}, var) - var.registers(['color', 'body', '_ref', 'args', 'parser']) + def PyJs_handler_197_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_197_}, var) + var.registers(['_ref', 'parser', 'body', 'color', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('color', var.get('assertNodeType')(var.get('args').get('0'), Js('color-token')).get('color')) var.put('body', var.get('args').get('1')) - return Js({'type':Js('color'),'mode':var.get('parser').get('mode'),'color':var.get('color'),'body':var.get('defineFunction_ordargument')(var.get('body'))}) - PyJs_handler_175_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('color'),'names':Js([Js('\\textcolor')]),'props':Js({'numArgs':Js(2.0),'allowedInText':Js(True),'greediness':Js(3.0),'argTypes':Js([Js('color'), Js('original')])}),'handler':PyJs_handler_175_,'htmlBuilder':var.get('color_htmlBuilder'),'mathmlBuilder':var.get('color_mathmlBuilder')})) + return Js({'type':Js('color'),'mode':var.get('parser').get('mode'),'color':var.get('color'),'body':var.get('ordargument')(var.get('body'))}) + PyJs_handler_197_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('color'),'names':Js([Js('\\textcolor')]),'props':Js({'numArgs':Js(2.0),'allowedInText':Js(True),'argTypes':Js([Js('color'), Js('original')])}),'handler':PyJs_handler_197_,'htmlBuilder':var.get('color_htmlBuilder'),'mathmlBuilder':var.get('color_mathmlBuilder')})) @Js - def PyJs_handler_176_(_ref2, args, this, arguments, var=var): - var = Scope({'_ref2':_ref2, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_176_}, var) - var.registers(['breakOnTokenText', 'color', 'body', 'args', 'parser', '_ref2']) + def PyJs_handler_198_(_ref2, args, this, arguments, var=var): + var = Scope({'_ref2':_ref2, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_198_}, var) + var.registers(['parser', 'body', 'color', '_ref2', 'breakOnTokenText', 'args']) var.put('parser', var.get('_ref2').get('parser')) var.put('breakOnTokenText', var.get('_ref2').get('breakOnTokenText')) var.put('color', var.get('assertNodeType')(var.get('args').get('0'), Js('color-token')).get('color')) + var.get('parser').get('gullet').get('macros').callprop('set', Js('\\current@color'), var.get('color')) var.put('body', var.get('parser').callprop('parseExpression', Js(True), var.get('breakOnTokenText'))) return Js({'type':Js('color'),'mode':var.get('parser').get('mode'),'color':var.get('color'),'body':var.get('body')}) - PyJs_handler_176_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('color'),'names':Js([Js('\\color')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True),'greediness':Js(3.0),'argTypes':Js([Js('color')])}),'handler':PyJs_handler_176_,'htmlBuilder':var.get('color_htmlBuilder'),'mathmlBuilder':var.get('color_mathmlBuilder')})) + PyJs_handler_198_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('color'),'names':Js([Js('\\color')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True),'argTypes':Js([Js('color')])}),'handler':PyJs_handler_198_,'htmlBuilder':var.get('color_htmlBuilder'),'mathmlBuilder':var.get('color_mathmlBuilder')})) + pass @Js - def PyJs_handler_177_(_ref, args, optArgs, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_177_}, var) - var.registers(['funcName', 'size', 'newLine', 'newRow', '_ref', 'optArgs', 'args', 'parser']) + def PyJs_handler_199_(_ref, args, optArgs, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_199_}, var) + var.registers(['_ref', 'newLine', 'parser', 'optArgs', 'size', 'args']) var.put('parser', var.get('_ref').get('parser')) - var.put('funcName', var.get('_ref').get('funcName')) var.put('size', var.get('optArgs').get('0')) - var.put('newRow', PyJsStrictEq(var.get('funcName'),Js('\\cr'))) - var.put('newLine', Js(False)) - if var.get('newRow').neg(): - if (var.get('parser').get('settings').get('displayMode') and var.get('parser').get('settings').callprop('useStrictBehavior', Js('newLineInDisplayMode'), (Js('In LaTeX, \\\\ or \\newline ')+Js('does nothing in display mode')))): - var.put('newLine', Js(False)) - else: - var.put('newLine', Js(True)) - return Js({'type':Js('cr'),'mode':var.get('parser').get('mode'),'newLine':var.get('newLine'),'newRow':var.get('newRow'),'size':(var.get('size') and var.get('assertNodeType')(var.get('size'), Js('size')).get('value'))}) - PyJs_handler_177_._set_name('handler') + var.put('newLine', (var.get('parser').get('settings').get('displayMode').neg() or var.get('parser').get('settings').callprop('useStrictBehavior', Js('newLineInDisplayMode'), (Js('In LaTeX, \\\\ or \\newline ')+Js('does nothing in display mode'))).neg())) + return Js({'type':Js('cr'),'mode':var.get('parser').get('mode'),'newLine':var.get('newLine'),'size':(var.get('size') and var.get('assertNodeType')(var.get('size'), Js('size')).get('value'))}) + PyJs_handler_199_._set_name('handler') @Js - def PyJs_htmlBuilder_178_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_178_}, var) - var.registers(['group', 'options', 'span']) - if var.get('group').get('newRow'): - PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('\\cr valid only within a tabular/array environment'))) - raise PyJsTempException + def PyJs_htmlBuilder_200_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_200_}, var) + var.registers(['span', 'options', 'group']) var.put('span', var.get('buildCommon').callprop('makeSpan', Js([Js('mspace')]), Js([]), var.get('options'))) if var.get('group').get('newLine'): var.get('span').get('classes').callprop('push', Js('newline')) if var.get('group').get('size'): - var.get('span').get('style').put('marginTop', (var.get('units_calculateSize')(var.get('group').get('size'), var.get('options'))+Js('em'))) + var.get('span').get('style').put('marginTop', (var.get('calculateSize')(var.get('group').get('size'), var.get('options'))+Js('em'))) return var.get('span') - PyJs_htmlBuilder_178_._set_name('htmlBuilder') + PyJs_htmlBuilder_200_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_179_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_179_}, var) - var.registers(['node', 'group', 'options']) + def PyJs_mathmlBuilder_201_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_201_}, var) + var.registers(['group', 'options', 'node']) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mspace'))) if var.get('group').get('newLine'): var.get('node').callprop('setAttribute', Js('linebreak'), Js('newline')) if var.get('group').get('size'): - var.get('node').callprop('setAttribute', Js('height'), (var.get('units_calculateSize')(var.get('group').get('size'), var.get('options'))+Js('em'))) + var.get('node').callprop('setAttribute', Js('height'), (var.get('calculateSize')(var.get('group').get('size'), var.get('options'))+Js('em'))) return var.get('node') - PyJs_mathmlBuilder_179_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('cr'),'names':Js([Js('\\cr'), Js('\\newline')]),'props':Js({'numArgs':Js(0.0),'numOptionalArgs':Js(1.0),'argTypes':Js([Js('size')]),'allowedInText':Js(True)}),'handler':PyJs_handler_177_,'htmlBuilder':PyJs_htmlBuilder_178_,'mathmlBuilder':PyJs_mathmlBuilder_179_})) + PyJs_mathmlBuilder_201_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('cr'),'names':Js([Js('\\\\')]),'props':Js({'numArgs':Js(0.0),'numOptionalArgs':Js(1.0),'argTypes':Js([Js('size')]),'allowedInText':Js(True)}),'handler':PyJs_handler_199_,'htmlBuilder':PyJs_htmlBuilder_200_,'mathmlBuilder':PyJs_mathmlBuilder_201_})) + pass + var.put('globalMap', Js({'\\global':Js('\\global'),'\\long':Js('\\\\globallong'),'\\\\globallong':Js('\\\\globallong'),'\\def':Js('\\gdef'),'\\gdef':Js('\\gdef'),'\\edef':Js('\\xdef'),'\\xdef':Js('\\xdef'),'\\let':Js('\\\\globallet'),'\\futurelet':Js('\\\\globalfuture')})) + @Js + def PyJs_checkControlSequence_202_(tok, this, arguments, var=var): + var = Scope({'tok':tok, 'this':this, 'arguments':arguments, 'checkControlSequence':PyJs_checkControlSequence_202_}, var) + var.registers(['name', 'tok']) + var.put('name', var.get('tok').get('text')) + if JsRegExp('/^(?:[\\\\{}$&#^_]|EOF)$/').callprop('test', var.get('name')): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Expected a control sequence'), var.get('tok'))) + raise PyJsTempException + return var.get('name') + PyJs_checkControlSequence_202_._set_name('checkControlSequence') + var.put('checkControlSequence', PyJs_checkControlSequence_202_) + @Js + def PyJs_getRHS_203_(parser, this, arguments, var=var): + var = Scope({'parser':parser, 'this':this, 'arguments':arguments, 'getRHS':PyJs_getRHS_203_}, var) + var.registers(['parser', 'tok']) + var.put('tok', var.get('parser').get('gullet').callprop('popToken')) + if PyJsStrictEq(var.get('tok').get('text'),Js('=')): + var.put('tok', var.get('parser').get('gullet').callprop('popToken')) + if PyJsStrictEq(var.get('tok').get('text'),Js(' ')): + var.put('tok', var.get('parser').get('gullet').callprop('popToken')) + return var.get('tok') + PyJs_getRHS_203_._set_name('getRHS') + var.put('getRHS', PyJs_getRHS_203_) + @Js + def PyJs_letCommand_204_(parser, name, tok, PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({'parser':parser, 'name':name, 'tok':tok, 'global':PyJsArg_676c6f62616c_, 'this':this, 'arguments':arguments, 'letCommand':PyJs_letCommand_204_}, var) + var.registers(['global', 'tok', 'name', 'parser', 'macro']) + var.put('macro', var.get('parser').get('gullet').get('macros').callprop('get', var.get('tok').get('text'))) + if (var.get('macro')==var.get(u"null")): + var.get('tok').put('noexpand', Js(True)) + var.put('macro', Js({'tokens':Js([var.get('tok')]),'numArgs':Js(0.0),'unexpandable':var.get('parser').get('gullet').callprop('isExpandable', var.get('tok').get('text')).neg()})) + var.get('parser').get('gullet').get('macros').callprop('set', var.get('name'), var.get('macro'), var.get('global')) + PyJs_letCommand_204_._set_name('letCommand') + var.put('letCommand', PyJs_letCommand_204_) + @Js + def PyJs_handler_205_(_ref, this, arguments, var=var): + var = Scope({'_ref':_ref, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_205_}, var) + var.registers(['token', '_ref', 'parser', 'funcName']) + var.put('parser', var.get('_ref').get('parser')) + var.put('funcName', var.get('_ref').get('funcName')) + var.get('parser').callprop('consumeSpaces') + var.put('token', var.get('parser').callprop('fetch')) + if var.get('globalMap').get(var.get('token').get('text')): + if (PyJsStrictEq(var.get('funcName'),Js('\\global')) or PyJsStrictEq(var.get('funcName'),Js('\\\\globallong'))): + var.get('token').put('text', var.get('globalMap').get(var.get('token').get('text'))) + return var.get('assertNodeType')(var.get('parser').callprop('parseFunction'), Js('internal')) + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Invalid token after macro prefix'), var.get('token'))) + raise PyJsTempException + PyJs_handler_205_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('internal'),'names':Js([Js('\\global'), Js('\\long'), Js('\\\\globallong')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True)}),'handler':PyJs_handler_205_})) + @Js + def PyJs_handler_206_(_ref2, this, arguments, var=var): + var = Scope({'_ref2':_ref2, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_206_}, var) + var.registers(['insert', 'tok', '_parser$gullet$consum', 'name', 'parser', 'tokens', '_ref2', 'funcName', 'delimiters', 'numArgs']) + var.put('parser', var.get('_ref2').get('parser')) + var.put('funcName', var.get('_ref2').get('funcName')) + var.put('tok', var.get('parser').get('gullet').callprop('popToken')) + var.put('name', var.get('tok').get('text')) + if JsRegExp('/^(?:[\\\\{}$&#^_]|EOF)$/').callprop('test', var.get('name')): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Expected a control sequence'), var.get('tok'))) + raise PyJsTempException + var.put('numArgs', Js(0.0)) + pass + var.put('delimiters', Js([Js([])])) + while PyJsStrictNeq(var.get('parser').get('gullet').callprop('future').get('text'),Js('{')): + var.put('tok', var.get('parser').get('gullet').callprop('popToken')) + if PyJsStrictEq(var.get('tok').get('text'),Js('#')): + if PyJsStrictEq(var.get('parser').get('gullet').callprop('future').get('text'),Js('{')): + var.put('insert', var.get('parser').get('gullet').callprop('future')) + var.get('delimiters').get(var.get('numArgs')).callprop('push', Js('{')) + break + var.put('tok', var.get('parser').get('gullet').callprop('popToken')) + if JsRegExp('/^[1-9]$/').callprop('test', var.get('tok').get('text')).neg(): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js('Invalid argument number "')+var.get('tok').get('text'))+Js('"')))) + raise PyJsTempException + if PyJsStrictNeq(var.get('parseInt')(var.get('tok').get('text')),(var.get('numArgs')+Js(1.0))): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js('Argument number "')+var.get('tok').get('text'))+Js('" out of order')))) + raise PyJsTempException + (var.put('numArgs',Js(var.get('numArgs').to_number())+Js(1))-Js(1)) + var.get('delimiters').callprop('push', Js([])) + else: + if PyJsStrictEq(var.get('tok').get('text'),Js('EOF')): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Expected a macro definition'))) + raise PyJsTempException + else: + var.get('delimiters').get(var.get('numArgs')).callprop('push', var.get('tok').get('text')) + var.put('_parser$gullet$consum', var.get('parser').get('gullet').callprop('consumeArg')) + var.put('tokens', var.get('_parser$gullet$consum').get('tokens')) + if var.get('insert'): + var.get('tokens').callprop('unshift', var.get('insert')) + if (PyJsStrictEq(var.get('funcName'),Js('\\edef')) or PyJsStrictEq(var.get('funcName'),Js('\\xdef'))): + var.put('tokens', var.get('parser').get('gullet').callprop('expandTokens', var.get('tokens'))) + var.get('tokens').callprop('reverse') + var.get('parser').get('gullet').get('macros').callprop('set', var.get('name'), Js({'tokens':var.get('tokens'),'numArgs':var.get('numArgs'),'delimiters':var.get('delimiters')}), PyJsStrictEq(var.get('funcName'),var.get('globalMap').get(var.get('funcName')))) + return Js({'type':Js('internal'),'mode':var.get('parser').get('mode')}) + PyJs_handler_206_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('internal'),'names':Js([Js('\\def'), Js('\\gdef'), Js('\\edef'), Js('\\xdef')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True),'primitive':Js(True)}),'handler':PyJs_handler_206_})) + @Js + def PyJs_handler_207_(_ref3, this, arguments, var=var): + var = Scope({'_ref3':_ref3, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_207_}, var) + var.registers(['tok', 'name', 'parser', '_ref3', 'funcName']) + var.put('parser', var.get('_ref3').get('parser')) + var.put('funcName', var.get('_ref3').get('funcName')) + var.put('name', var.get('checkControlSequence')(var.get('parser').get('gullet').callprop('popToken'))) + var.get('parser').get('gullet').callprop('consumeSpaces') + var.put('tok', var.get('getRHS')(var.get('parser'))) + var.get('letCommand')(var.get('parser'), var.get('name'), var.get('tok'), PyJsStrictEq(var.get('funcName'),Js('\\\\globallet'))) + return Js({'type':Js('internal'),'mode':var.get('parser').get('mode')}) + PyJs_handler_207_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('internal'),'names':Js([Js('\\let'), Js('\\\\globallet')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True),'primitive':Js(True)}),'handler':PyJs_handler_207_})) + @Js + def PyJs_handler_208_(_ref4, this, arguments, var=var): + var = Scope({'_ref4':_ref4, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_208_}, var) + var.registers(['tok', 'name', '_ref4', 'parser', 'middle', 'funcName']) + var.put('parser', var.get('_ref4').get('parser')) + var.put('funcName', var.get('_ref4').get('funcName')) + var.put('name', var.get('checkControlSequence')(var.get('parser').get('gullet').callprop('popToken'))) + var.put('middle', var.get('parser').get('gullet').callprop('popToken')) + var.put('tok', var.get('parser').get('gullet').callprop('popToken')) + var.get('letCommand')(var.get('parser'), var.get('name'), var.get('tok'), PyJsStrictEq(var.get('funcName'),Js('\\\\globalfuture'))) + var.get('parser').get('gullet').callprop('pushToken', var.get('tok')) + var.get('parser').get('gullet').callprop('pushToken', var.get('middle')) + return Js({'type':Js('internal'),'mode':var.get('parser').get('mode')}) + PyJs_handler_208_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('internal'),'names':Js([Js('\\futurelet'), Js('\\\\globalfuture')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True),'primitive':Js(True)}),'handler':PyJs_handler_208_})) + pass @Js - def PyJs_getMetrics_180_(symbol, font, mode, this, arguments, var=var): - var = Scope({'symbol':symbol, 'font':font, 'mode':mode, 'this':this, 'arguments':arguments, 'getMetrics':PyJs_getMetrics_180_}, var) - var.registers(['replace', 'mode', 'font', 'symbol', 'metrics']) + def PyJs_getMetrics_209_(symbol, font, mode, this, arguments, var=var): + var = Scope({'symbol':symbol, 'font':font, 'mode':mode, 'this':this, 'arguments':arguments, 'getMetrics':PyJs_getMetrics_209_}, var) + var.registers(['symbol', 'font', 'mode', 'replace', 'metrics']) var.put('replace', (var.get('src_symbols').get('math').get(var.get('symbol')) and var.get('src_symbols').get('math').get(var.get('symbol')).get('replace'))) var.put('metrics', var.get('getCharacterMetrics')((var.get('replace') or var.get('symbol')), var.get('font'), var.get('mode'))) if var.get('metrics').neg(): PyJsTempException = JsToPyException(var.get('Error').create(((((Js('Unsupported symbol ')+var.get('symbol'))+Js(' and font size '))+var.get('font'))+Js('.')))) raise PyJsTempException return var.get('metrics') - PyJs_getMetrics_180_._set_name('getMetrics') - var.put('delimiter_getMetrics', PyJs_getMetrics_180_) + PyJs_getMetrics_209_._set_name('getMetrics') + var.put('getMetrics', PyJs_getMetrics_209_) @Js - def PyJs_styleWrap_181_(delim, toStyle, options, classes, this, arguments, var=var): - var = Scope({'delim':delim, 'toStyle':toStyle, 'options':options, 'classes':classes, 'this':this, 'arguments':arguments, 'styleWrap':PyJs_styleWrap_181_}, var) - var.registers(['toStyle', 'newOptions', 'delimSizeMultiplier', 'options', 'span', 'classes', 'delim']) + def PyJs_styleWrap_210_(delim, toStyle, options, classes, this, arguments, var=var): + var = Scope({'delim':delim, 'toStyle':toStyle, 'options':options, 'classes':classes, 'this':this, 'arguments':arguments, 'styleWrap':PyJs_styleWrap_210_}, var) + var.registers(['newOptions', 'toStyle', 'delimSizeMultiplier', 'delim', 'span', 'classes', 'options']) var.put('newOptions', var.get('options').callprop('havingBaseStyle', var.get('toStyle'))) var.put('span', var.get('buildCommon').callprop('makeSpan', var.get('classes').callprop('concat', var.get('newOptions').callprop('sizingClasses', var.get('options'))), Js([var.get('delim')]), var.get('options'))) var.put('delimSizeMultiplier', (var.get('newOptions').get('sizeMultiplier')/var.get('options').get('sizeMultiplier'))) @@ -4007,66 +4543,84 @@ def PyJs_styleWrap_181_(delim, toStyle, options, classes, this, arguments, var=v var.get('span').put('depth', var.get('delimSizeMultiplier'), '*') var.get('span').put('maxFontSize', var.get('newOptions').get('sizeMultiplier')) return var.get('span') - PyJs_styleWrap_181_._set_name('styleWrap') - var.put('delimiter_styleWrap', PyJs_styleWrap_181_) + PyJs_styleWrap_210_._set_name('styleWrap') + var.put('styleWrap', PyJs_styleWrap_210_) @Js - def PyJs_centerSpan_182_(span, options, style, this, arguments, var=var): - var = Scope({'span':span, 'options':options, 'style':style, 'this':this, 'arguments':arguments, 'centerSpan':PyJs_centerSpan_182_}, var) - var.registers(['newOptions', 'options', 'shift', 'span', 'style']) + def PyJs_centerSpan_211_(span, options, style, this, arguments, var=var): + var = Scope({'span':span, 'options':options, 'style':style, 'this':this, 'arguments':arguments, 'centerSpan':PyJs_centerSpan_211_}, var) + var.registers(['newOptions', 'span', 'shift', 'style', 'options']) var.put('newOptions', var.get('options').callprop('havingBaseStyle', var.get('style'))) var.put('shift', ((Js(1.0)-(var.get('options').get('sizeMultiplier')/var.get('newOptions').get('sizeMultiplier')))*var.get('options').callprop('fontMetrics').get('axisHeight'))) var.get('span').get('classes').callprop('push', Js('delimcenter')) var.get('span').get('style').put('top', (var.get('shift')+Js('em'))) var.get('span').put('height', var.get('shift'), '-') var.get('span').put('depth', var.get('shift'), '+') - PyJs_centerSpan_182_._set_name('centerSpan') - var.put('centerSpan', PyJs_centerSpan_182_) + PyJs_centerSpan_211_._set_name('centerSpan') + var.put('centerSpan', PyJs_centerSpan_211_) @Js - def PyJs_makeSmallDelim_183_(delim, style, center, options, mode, classes, this, arguments, var=var): - var = Scope({'delim':delim, 'style':style, 'center':center, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeSmallDelim':PyJs_makeSmallDelim_183_}, var) - var.registers(['mode', 'options', 'text', 'center', 'span', 'style', 'classes', 'delim']) + def PyJs_makeSmallDelim_212_(delim, style, center, options, mode, classes, this, arguments, var=var): + var = Scope({'delim':delim, 'style':style, 'center':center, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeSmallDelim':PyJs_makeSmallDelim_212_}, var) + var.registers(['text', 'center', 'delim', 'mode', 'span', 'classes', 'style', 'options']) var.put('text', var.get('buildCommon').callprop('makeSymbol', var.get('delim'), Js('Main-Regular'), var.get('mode'), var.get('options'))) - var.put('span', var.get('delimiter_styleWrap')(var.get('text'), var.get('style'), var.get('options'), var.get('classes'))) + var.put('span', var.get('styleWrap')(var.get('text'), var.get('style'), var.get('options'), var.get('classes'))) if var.get('center'): var.get('centerSpan')(var.get('span'), var.get('options'), var.get('style')) return var.get('span') - PyJs_makeSmallDelim_183_._set_name('makeSmallDelim') - var.put('delimiter_makeSmallDelim', PyJs_makeSmallDelim_183_) + PyJs_makeSmallDelim_212_._set_name('makeSmallDelim') + var.put('makeSmallDelim', PyJs_makeSmallDelim_212_) @Js - def PyJs_mathrmSize_184_(value, size, mode, options, this, arguments, var=var): - var = Scope({'value':value, 'size':size, 'mode':mode, 'options':options, 'this':this, 'arguments':arguments, 'mathrmSize':PyJs_mathrmSize_184_}, var) - var.registers(['options', 'size', 'value', 'mode']) + def PyJs_mathrmSize_213_(value, size, mode, options, this, arguments, var=var): + var = Scope({'value':value, 'size':size, 'mode':mode, 'options':options, 'this':this, 'arguments':arguments, 'mathrmSize':PyJs_mathrmSize_213_}, var) + var.registers(['value', 'options', 'mode', 'size']) return var.get('buildCommon').callprop('makeSymbol', var.get('value'), ((Js('Size')+var.get('size'))+Js('-Regular')), var.get('mode'), var.get('options')) - PyJs_mathrmSize_184_._set_name('mathrmSize') - var.put('delimiter_mathrmSize', PyJs_mathrmSize_184_) - @Js - def PyJs_makeLargeDelim_185_(delim, size, center, options, mode, classes, this, arguments, var=var): - var = Scope({'delim':delim, 'size':size, 'center':center, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeLargeDelim':PyJs_makeLargeDelim_185_}, var) - var.registers(['size', 'mode', 'options', 'center', 'span', 'inner', 'classes', 'delim']) - var.put('inner', var.get('delimiter_mathrmSize')(var.get('delim'), var.get('size'), var.get('mode'), var.get('options'))) - var.put('span', var.get('delimiter_styleWrap')(var.get('buildCommon').callprop('makeSpan', Js([Js('delimsizing'), (Js('size')+var.get('size'))]), Js([var.get('inner')]), var.get('options')), var.get('src_Style').get('TEXT'), var.get('options'), var.get('classes'))) + PyJs_mathrmSize_213_._set_name('mathrmSize') + var.put('mathrmSize', PyJs_mathrmSize_213_) + @Js + def PyJs_makeLargeDelim_214_(delim, size, center, options, mode, classes, this, arguments, var=var): + var = Scope({'delim':delim, 'size':size, 'center':center, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeLargeDelim':PyJs_makeLargeDelim_214_}, var) + var.registers(['center', 'delim', 'mode', 'inner', 'span', 'classes', 'size', 'options']) + var.put('inner', var.get('mathrmSize')(var.get('delim'), var.get('size'), var.get('mode'), var.get('options'))) + var.put('span', var.get('styleWrap')(var.get('buildCommon').callprop('makeSpan', Js([Js('delimsizing'), (Js('size')+var.get('size'))]), Js([var.get('inner')]), var.get('options')), var.get('src_Style').get('TEXT'), var.get('options'), var.get('classes'))) if var.get('center'): var.get('centerSpan')(var.get('span'), var.get('options'), var.get('src_Style').get('TEXT')) return var.get('span') - PyJs_makeLargeDelim_185_._set_name('makeLargeDelim') - var.put('delimiter_makeLargeDelim', PyJs_makeLargeDelim_185_) + PyJs_makeLargeDelim_214_._set_name('makeLargeDelim') + var.put('makeLargeDelim', PyJs_makeLargeDelim_214_) @Js - def PyJs_makeInner_186_(symbol, font, mode, this, arguments, var=var): - var = Scope({'symbol':symbol, 'font':font, 'mode':mode, 'this':this, 'arguments':arguments, 'makeInner':PyJs_makeInner_186_}, var) - var.registers(['mode', 'font', 'sizeClass', 'symbol', 'inner']) + def PyJs_makeGlyphSpan_215_(symbol, font, mode, this, arguments, var=var): + var = Scope({'symbol':symbol, 'font':font, 'mode':mode, 'this':this, 'arguments':arguments, 'makeGlyphSpan':PyJs_makeGlyphSpan_215_}, var) + var.registers(['corner', 'symbol', 'font', 'mode', 'sizeClass']) pass if PyJsStrictEq(var.get('font'),Js('Size1-Regular')): var.put('sizeClass', Js('delim-size1')) else: var.put('sizeClass', Js('delim-size4')) - var.put('inner', var.get('buildCommon').callprop('makeSpan', Js([Js('delimsizinginner'), var.get('sizeClass')]), Js([var.get('buildCommon').callprop('makeSpan', Js([]), Js([var.get('buildCommon').callprop('makeSymbol', var.get('symbol'), var.get('font'), var.get('mode'))]))]))) - return Js({'type':Js('elem'),'elem':var.get('inner')}) - PyJs_makeInner_186_._set_name('makeInner') - var.put('delimiter_makeInner', PyJs_makeInner_186_) - @Js - def PyJs_makeStackedDelim_187_(delim, heightTotal, center, options, mode, classes, this, arguments, var=var): - var = Scope({'delim':delim, 'heightTotal':heightTotal, 'center':center, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeStackedDelim':PyJs_makeStackedDelim_187_}, var) - var.registers(['minHeight', 'topHeightTotal', 'mode', '_i', 'realHeightTotal', 'bottomHeightTotal', 'inner', 'inners', 'i', 'middleMetrics', 'middleFactor', 'newOptions', 'options', 'top', 'middleHeightTotal', 'center', 'classes', 'axisHeight', '_i2', 'repeatMetrics', 'middle', 'bottom', 'bottomMetrics', 'repeat', 'topMetrics', 'delim', 'font', 'depth', 'heightTotal', 'repeatCount', 'repeatHeightTotal']) + var.put('corner', var.get('buildCommon').callprop('makeSpan', Js([Js('delimsizinginner'), var.get('sizeClass')]), Js([var.get('buildCommon').callprop('makeSpan', Js([]), Js([var.get('buildCommon').callprop('makeSymbol', var.get('symbol'), var.get('font'), var.get('mode'))]))]))) + return Js({'type':Js('elem'),'elem':var.get('corner')}) + PyJs_makeGlyphSpan_215_._set_name('makeGlyphSpan') + var.put('makeGlyphSpan', PyJs_makeGlyphSpan_215_) + @Js + def PyJs_makeInner_216_(ch, height, options, this, arguments, var=var): + var = Scope({'ch':ch, 'height':height, 'options':options, 'this':this, 'arguments':arguments, 'makeInner':PyJs_makeInner_216_}, var) + var.registers(['height', 'width', 'path', 'span', 'svgNode', 'ch', 'options']) + var.put('width', (var.get('fontMetricsData').get('Size4-Regular').get(var.get('ch').callprop('charCodeAt', Js(0.0))).get('4').callprop('toFixed', Js(3.0)) if var.get('fontMetricsData').get('Size4-Regular').get(var.get('ch').callprop('charCodeAt', Js(0.0))) else var.get('fontMetricsData').get('Size1-Regular').get(var.get('ch').callprop('charCodeAt', Js(0.0))).get('4').callprop('toFixed', Js(3.0)))) + var.put('path', var.get('PathNode').create(Js('inner'), var.get('innerPath')(var.get('ch'), var.get('Math').callprop('round', (Js(1000.0)*var.get('height')))))) + var.put('svgNode', var.get('SvgNode').create(Js([var.get('path')]), Js({'width':(var.get('width')+Js('em')),'height':(var.get('height')+Js('em')),'style':((Js('width:')+var.get('width'))+Js('em')),'viewBox':(((Js('0 0 ')+(Js(1000.0)*var.get('width')))+Js(' '))+var.get('Math').callprop('round', (Js(1000.0)*var.get('height')))),'preserveAspectRatio':Js('xMinYMin')}))) + var.put('span', var.get('buildCommon').callprop('makeSvgSpan', Js([]), Js([var.get('svgNode')]), var.get('options'))) + var.get('span').put('height', var.get('height')) + var.get('span').get('style').put('height', (var.get('height')+Js('em'))) + var.get('span').get('style').put('width', (var.get('width')+Js('em'))) + return Js({'type':Js('elem'),'elem':var.get('span')}) + PyJs_makeInner_216_._set_name('makeInner') + var.put('makeInner', PyJs_makeInner_216_) + var.put('lapInEms', Js(0.008)) + var.put('lap', Js({'type':Js('kern'),'size':((-Js(1.0))*var.get('lapInEms'))})) + var.put('verts', Js([Js('|'), Js('\\lvert'), Js('\\rvert'), Js('\\vert')])) + var.put('doubleVerts', Js([Js('\\|'), Js('\\lVert'), Js('\\rVert'), Js('\\Vert')])) + @Js + def PyJs_makeStackedDelim_217_(delim, heightTotal, center, options, mode, classes, this, arguments, var=var): + var = Scope({'delim':delim, 'heightTotal':heightTotal, 'center':center, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeStackedDelim':PyJs_makeStackedDelim_217_}, var) + var.registers(['repeat', 'depth', 'repeatMetrics', 'center', 'topMetrics', 'delim', 'heightTotal', 'classes', 'middleHeightTotal', 'middleFactor', 'repeatHeightTotal', 'font', 'bottom', 'innerHeight', 'topHeightTotal', 'options', 'bottomHeightTotal', 'bottomMetrics', 'mode', 'minHeight', 'middle', 'inner', 'stack', 'newOptions', '_innerHeight', 'middleMetrics', 'realHeightTotal', 'repeatCount', 'axisHeight', 'top']) pass pass pass @@ -4096,226 +4650,218 @@ def PyJs_makeStackedDelim_187_(delim, heightTotal, center, options, mode, classe var.put('repeat', Js('‖')) var.put('bottom', Js('\\Downarrow')) else: - if (PyJsStrictEq(var.get('delim'),Js('[')) or PyJsStrictEq(var.get('delim'),Js('\\lbrack'))): - var.put('top', Js('⎡')) - var.put('repeat', Js('⎢')) - var.put('bottom', Js('⎣')) - var.put('font', Js('Size4-Regular')) + if var.get('utils').callprop('contains', var.get('verts'), var.get('delim')): + var.put('repeat', Js('∣')) else: - if (PyJsStrictEq(var.get('delim'),Js(']')) or PyJsStrictEq(var.get('delim'),Js('\\rbrack'))): - var.put('top', Js('⎤')) - var.put('repeat', Js('⎥')) - var.put('bottom', Js('⎦')) - var.put('font', Js('Size4-Regular')) + if var.get('utils').callprop('contains', var.get('doubleVerts'), var.get('delim')): + var.put('repeat', Js('∥')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\lfloor')) or PyJsStrictEq(var.get('delim'),Js('⌊'))): - var.put('repeat', var.put('top', Js('⎢'))) + if (PyJsStrictEq(var.get('delim'),Js('[')) or PyJsStrictEq(var.get('delim'),Js('\\lbrack'))): + var.put('top', Js('⎡')) + var.put('repeat', Js('⎢')) var.put('bottom', Js('⎣')) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\lceil')) or PyJsStrictEq(var.get('delim'),Js('⌈'))): - var.put('top', Js('⎡')) - var.put('repeat', var.put('bottom', Js('⎢'))) + if (PyJsStrictEq(var.get('delim'),Js(']')) or PyJsStrictEq(var.get('delim'),Js('\\rbrack'))): + var.put('top', Js('⎤')) + var.put('repeat', Js('⎥')) + var.put('bottom', Js('⎦')) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\rfloor')) or PyJsStrictEq(var.get('delim'),Js('⌋'))): - var.put('repeat', var.put('top', Js('⎥'))) - var.put('bottom', Js('⎦')) + if (PyJsStrictEq(var.get('delim'),Js('\\lfloor')) or PyJsStrictEq(var.get('delim'),Js('⌊'))): + var.put('repeat', var.put('top', Js('⎢'))) + var.put('bottom', Js('⎣')) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\rceil')) or PyJsStrictEq(var.get('delim'),Js('⌉'))): - var.put('top', Js('⎤')) - var.put('repeat', var.put('bottom', Js('⎥'))) + if (PyJsStrictEq(var.get('delim'),Js('\\lceil')) or PyJsStrictEq(var.get('delim'),Js('⌈'))): + var.put('top', Js('⎡')) + var.put('repeat', var.put('bottom', Js('⎢'))) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('(')) or PyJsStrictEq(var.get('delim'),Js('\\lparen'))): - var.put('top', Js('⎛')) - var.put('repeat', Js('⎜')) - var.put('bottom', Js('⎝')) + if (PyJsStrictEq(var.get('delim'),Js('\\rfloor')) or PyJsStrictEq(var.get('delim'),Js('⌋'))): + var.put('repeat', var.put('top', Js('⎥'))) + var.put('bottom', Js('⎦')) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js(')')) or PyJsStrictEq(var.get('delim'),Js('\\rparen'))): - var.put('top', Js('⎞')) - var.put('repeat', Js('⎟')) - var.put('bottom', Js('⎠')) + if (PyJsStrictEq(var.get('delim'),Js('\\rceil')) or PyJsStrictEq(var.get('delim'),Js('⌉'))): + var.put('top', Js('⎤')) + var.put('repeat', var.put('bottom', Js('⎥'))) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\{')) or PyJsStrictEq(var.get('delim'),Js('\\lbrace'))): - var.put('top', Js('⎧')) - var.put('middle', Js('⎨')) - var.put('bottom', Js('⎩')) - var.put('repeat', Js('⎪')) + if (PyJsStrictEq(var.get('delim'),Js('(')) or PyJsStrictEq(var.get('delim'),Js('\\lparen'))): + var.put('top', Js('⎛')) + var.put('repeat', Js('⎜')) + var.put('bottom', Js('⎝')) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\}')) or PyJsStrictEq(var.get('delim'),Js('\\rbrace'))): - var.put('top', Js('⎫')) - var.put('middle', Js('⎬')) - var.put('bottom', Js('⎭')) - var.put('repeat', Js('⎪')) + if (PyJsStrictEq(var.get('delim'),Js(')')) or PyJsStrictEq(var.get('delim'),Js('\\rparen'))): + var.put('top', Js('⎞')) + var.put('repeat', Js('⎟')) + var.put('bottom', Js('⎠')) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\lgroup')) or PyJsStrictEq(var.get('delim'),Js('⟮'))): + if (PyJsStrictEq(var.get('delim'),Js('\\{')) or PyJsStrictEq(var.get('delim'),Js('\\lbrace'))): var.put('top', Js('⎧')) + var.put('middle', Js('⎨')) var.put('bottom', Js('⎩')) var.put('repeat', Js('⎪')) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\rgroup')) or PyJsStrictEq(var.get('delim'),Js('⟯'))): + if (PyJsStrictEq(var.get('delim'),Js('\\}')) or PyJsStrictEq(var.get('delim'),Js('\\rbrace'))): var.put('top', Js('⎫')) + var.put('middle', Js('⎬')) var.put('bottom', Js('⎭')) var.put('repeat', Js('⎪')) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\lmoustache')) or PyJsStrictEq(var.get('delim'),Js('⎰'))): + if (PyJsStrictEq(var.get('delim'),Js('\\lgroup')) or PyJsStrictEq(var.get('delim'),Js('⟮'))): var.put('top', Js('⎧')) - var.put('bottom', Js('⎭')) + var.put('bottom', Js('⎩')) var.put('repeat', Js('⎪')) var.put('font', Js('Size4-Regular')) else: - if (PyJsStrictEq(var.get('delim'),Js('\\rmoustache')) or PyJsStrictEq(var.get('delim'),Js('⎱'))): + if (PyJsStrictEq(var.get('delim'),Js('\\rgroup')) or PyJsStrictEq(var.get('delim'),Js('⟯'))): var.put('top', Js('⎫')) - var.put('bottom', Js('⎩')) + var.put('bottom', Js('⎭')) var.put('repeat', Js('⎪')) var.put('font', Js('Size4-Regular')) - var.put('topMetrics', var.get('delimiter_getMetrics')(var.get('top'), var.get('font'), var.get('mode'))) + else: + if (PyJsStrictEq(var.get('delim'),Js('\\lmoustache')) or PyJsStrictEq(var.get('delim'),Js('⎰'))): + var.put('top', Js('⎧')) + var.put('bottom', Js('⎭')) + var.put('repeat', Js('⎪')) + var.put('font', Js('Size4-Regular')) + else: + if (PyJsStrictEq(var.get('delim'),Js('\\rmoustache')) or PyJsStrictEq(var.get('delim'),Js('⎱'))): + var.put('top', Js('⎫')) + var.put('bottom', Js('⎩')) + var.put('repeat', Js('⎪')) + var.put('font', Js('Size4-Regular')) + var.put('topMetrics', var.get('getMetrics')(var.get('top'), var.get('font'), var.get('mode'))) var.put('topHeightTotal', (var.get('topMetrics').get('height')+var.get('topMetrics').get('depth'))) - var.put('repeatMetrics', var.get('delimiter_getMetrics')(var.get('repeat'), var.get('font'), var.get('mode'))) + var.put('repeatMetrics', var.get('getMetrics')(var.get('repeat'), var.get('font'), var.get('mode'))) var.put('repeatHeightTotal', (var.get('repeatMetrics').get('height')+var.get('repeatMetrics').get('depth'))) - var.put('bottomMetrics', var.get('delimiter_getMetrics')(var.get('bottom'), var.get('font'), var.get('mode'))) + var.put('bottomMetrics', var.get('getMetrics')(var.get('bottom'), var.get('font'), var.get('mode'))) var.put('bottomHeightTotal', (var.get('bottomMetrics').get('height')+var.get('bottomMetrics').get('depth'))) var.put('middleHeightTotal', Js(0.0)) var.put('middleFactor', Js(1.0)) if PyJsStrictNeq(var.get('middle'),var.get(u"null")): - var.put('middleMetrics', var.get('delimiter_getMetrics')(var.get('middle'), var.get('font'), var.get('mode'))) + var.put('middleMetrics', var.get('getMetrics')(var.get('middle'), var.get('font'), var.get('mode'))) var.put('middleHeightTotal', (var.get('middleMetrics').get('height')+var.get('middleMetrics').get('depth'))) var.put('middleFactor', Js(2.0)) var.put('minHeight', ((var.get('topHeightTotal')+var.get('bottomHeightTotal'))+var.get('middleHeightTotal'))) - var.put('repeatCount', var.get('Math').callprop('ceil', ((var.get('heightTotal')-var.get('minHeight'))/(var.get('middleFactor')*var.get('repeatHeightTotal'))))) + var.put('repeatCount', var.get('Math').callprop('max', Js(0.0), var.get('Math').callprop('ceil', ((var.get('heightTotal')-var.get('minHeight'))/(var.get('middleFactor')*var.get('repeatHeightTotal')))))) var.put('realHeightTotal', (var.get('minHeight')+((var.get('repeatCount')*var.get('middleFactor'))*var.get('repeatHeightTotal')))) var.put('axisHeight', var.get('options').callprop('fontMetrics').get('axisHeight')) if var.get('center'): var.put('axisHeight', var.get('options').get('sizeMultiplier'), '*') var.put('depth', ((var.get('realHeightTotal')/Js(2.0))-var.get('axisHeight'))) - var.put('inners', Js([])) - var.get('inners').callprop('push', var.get('delimiter_makeInner')(var.get('bottom'), var.get('font'), var.get('mode'))) + var.put('stack', Js([])) + var.get('stack').callprop('push', var.get('makeGlyphSpan')(var.get('bottom'), var.get('font'), var.get('mode'))) + var.get('stack').callprop('push', var.get('lap')) if PyJsStrictEq(var.get('middle'),var.get(u"null")): - #for JS loop - var.put('i', Js(0.0)) - while (var.get('i')'), Js('\\langle'), Js('\\rangle'), Js('/'), Js('\\backslash'), Js('\\lt'), Js('\\gt')])) var.put('sizeToMaxHeight', Js([Js(0.0), Js(1.2), Js(1.8), Js(2.4), Js(3.0)])) @Js - def PyJs_makeSizedDelim_190_(delim, size, options, mode, classes, this, arguments, var=var): - var = Scope({'delim':delim, 'size':size, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeSizedDelim':PyJs_makeSizedDelim_190_}, var) - var.registers(['size', 'mode', 'options', 'classes', 'delim']) + def PyJs_makeSizedDelim_220_(delim, size, options, mode, classes, this, arguments, var=var): + var = Scope({'delim':delim, 'size':size, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeSizedDelim':PyJs_makeSizedDelim_220_}, var) + var.registers(['mode', 'delim', 'classes', 'size', 'options']) if ((PyJsStrictEq(var.get('delim'),Js('<')) or PyJsStrictEq(var.get('delim'),Js('\\lt'))) or PyJsStrictEq(var.get('delim'),Js('⟨'))): var.put('delim', Js('\\langle')) else: if ((PyJsStrictEq(var.get('delim'),Js('>')) or PyJsStrictEq(var.get('delim'),Js('\\gt'))) or PyJsStrictEq(var.get('delim'),Js('⟩'))): var.put('delim', Js('\\rangle')) if (var.get('utils').callprop('contains', var.get('stackLargeDelimiters'), var.get('delim')) or var.get('utils').callprop('contains', var.get('stackNeverDelimiters'), var.get('delim'))): - return var.get('delimiter_makeLargeDelim')(var.get('delim'), var.get('size'), Js(False), var.get('options'), var.get('mode'), var.get('classes')) + return var.get('makeLargeDelim')(var.get('delim'), var.get('size'), Js(False), var.get('options'), var.get('mode'), var.get('classes')) else: if var.get('utils').callprop('contains', var.get('stackAlwaysDelimiters'), var.get('delim')): - return var.get('delimiter_makeStackedDelim')(var.get('delim'), var.get('sizeToMaxHeight').get(var.get('size')), Js(False), var.get('options'), var.get('mode'), var.get('classes')) + return var.get('makeStackedDelim')(var.get('delim'), var.get('sizeToMaxHeight').get(var.get('size')), Js(False), var.get('options'), var.get('mode'), var.get('classes')) else: PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js("Illegal delimiter: '")+var.get('delim'))+Js("'")))) raise PyJsTempException - PyJs_makeSizedDelim_190_._set_name('makeSizedDelim') - var.put('delimiter_makeSizedDelim', PyJs_makeSizedDelim_190_) + PyJs_makeSizedDelim_220_._set_name('makeSizedDelim') + var.put('makeSizedDelim', PyJs_makeSizedDelim_220_) var.put('stackNeverDelimiterSequence', Js([Js({'type':Js('small'),'style':var.get('src_Style').get('SCRIPTSCRIPT')}), Js({'type':Js('small'),'style':var.get('src_Style').get('SCRIPT')}), Js({'type':Js('small'),'style':var.get('src_Style').get('TEXT')}), Js({'type':Js('large'),'size':Js(1.0)}), Js({'type':Js('large'),'size':Js(2.0)}), Js({'type':Js('large'),'size':Js(3.0)}), Js({'type':Js('large'),'size':Js(4.0)})])) var.put('stackAlwaysDelimiterSequence', Js([Js({'type':Js('small'),'style':var.get('src_Style').get('SCRIPTSCRIPT')}), Js({'type':Js('small'),'style':var.get('src_Style').get('SCRIPT')}), Js({'type':Js('small'),'style':var.get('src_Style').get('TEXT')}), Js({'type':Js('stack')})])) var.put('stackLargeDelimiterSequence', Js([Js({'type':Js('small'),'style':var.get('src_Style').get('SCRIPTSCRIPT')}), Js({'type':Js('small'),'style':var.get('src_Style').get('SCRIPT')}), Js({'type':Js('small'),'style':var.get('src_Style').get('TEXT')}), Js({'type':Js('large'),'size':Js(1.0)}), Js({'type':Js('large'),'size':Js(2.0)}), Js({'type':Js('large'),'size':Js(3.0)}), Js({'type':Js('large'),'size':Js(4.0)}), Js({'type':Js('stack')})])) @Js - def PyJs_delimTypeToFont_191_(type, this, arguments, var=var): - var = Scope({'type':type, 'this':this, 'arguments':arguments, 'delimTypeToFont':PyJs_delimTypeToFont_191_}, var) + def PyJs_delimTypeToFont_221_(type, this, arguments, var=var): + var = Scope({'type':type, 'this':this, 'arguments':arguments, 'delimTypeToFont':PyJs_delimTypeToFont_221_}, var) var.registers(['type']) if PyJsStrictEq(var.get('type').get('type'),Js('small')): return Js('Main-Regular') @@ -4328,12 +4874,12 @@ def PyJs_delimTypeToFont_191_(type, this, arguments, var=var): else: PyJsTempException = JsToPyException(var.get('Error').create(((Js("Add support for delim type '")+var.get('type').get('type'))+Js("' here.")))) raise PyJsTempException - PyJs_delimTypeToFont_191_._set_name('delimTypeToFont') - var.put('delimTypeToFont', PyJs_delimTypeToFont_191_) + PyJs_delimTypeToFont_221_._set_name('delimTypeToFont') + var.put('delimTypeToFont', PyJs_delimTypeToFont_221_) @Js - def PyJs_traverseSequence_192_(delim, height, sequence, options, this, arguments, var=var): - var = Scope({'delim':delim, 'height':height, 'sequence':sequence, 'options':options, 'this':this, 'arguments':arguments, 'traverseSequence':PyJs_traverseSequence_192_}, var) - var.registers(['heightDepth', 'i', 'newOptions', 'options', 'start', 'sequence', 'height', 'delim', 'metrics']) + def PyJs_traverseSequence_222_(delim, height, sequence, options, this, arguments, var=var): + var = Scope({'delim':delim, 'height':height, 'sequence':sequence, 'options':options, 'this':this, 'arguments':arguments, 'traverseSequence':PyJs_traverseSequence_222_}, var) + var.registers(['newOptions', 'heightDepth', 'delim', 'i', 'sequence', 'metrics', 'height', 'start', 'options']) var.put('start', var.get('Math').callprop('min', Js(2.0), (Js(3.0)-var.get('options').get('style').get('size')))) #for JS loop var.put('i', var.get('start')) @@ -4341,7 +4887,7 @@ def PyJs_traverseSequence_192_(delim, height, sequence, options, this, arguments try: if PyJsStrictEq(var.get('sequence').get(var.get('i')).get('type'),Js('stack')): break - var.put('metrics', var.get('delimiter_getMetrics')(var.get('delim'), var.get('delimTypeToFont')(var.get('sequence').get(var.get('i'))), Js('math'))) + var.put('metrics', var.get('getMetrics')(var.get('delim'), var.get('delimTypeToFont')(var.get('sequence').get(var.get('i'))), Js('math'))) var.put('heightDepth', (var.get('metrics').get('height')+var.get('metrics').get('depth'))) if PyJsStrictEq(var.get('sequence').get(var.get('i')).get('type'),Js('small')): var.put('newOptions', var.get('options').callprop('havingBaseStyle', var.get('sequence').get(var.get('i')).get('style'))) @@ -4351,12 +4897,12 @@ def PyJs_traverseSequence_192_(delim, height, sequence, options, this, arguments finally: (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) return var.get('sequence').get((var.get('sequence').get('length')-Js(1.0))) - PyJs_traverseSequence_192_._set_name('traverseSequence') - var.put('traverseSequence', PyJs_traverseSequence_192_) + PyJs_traverseSequence_222_._set_name('traverseSequence') + var.put('traverseSequence', PyJs_traverseSequence_222_) @Js - def PyJs_makeCustomSizedDelim_193_(delim, height, center, options, mode, classes, this, arguments, var=var): - var = Scope({'delim':delim, 'height':height, 'center':center, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeCustomSizedDelim':PyJs_makeCustomSizedDelim_193_}, var) - var.registers(['mode', 'options', 'center', 'sequence', 'delimType', 'height', 'classes', 'delim']) + def PyJs_makeCustomSizedDelim_223_(delim, height, center, options, mode, classes, this, arguments, var=var): + var = Scope({'delim':delim, 'height':height, 'center':center, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeCustomSizedDelim':PyJs_makeCustomSizedDelim_223_}, var) + var.registers(['center', 'delim', 'mode', 'sequence', 'delimType', 'classes', 'height', 'options']) if ((PyJsStrictEq(var.get('delim'),Js('<')) or PyJsStrictEq(var.get('delim'),Js('\\lt'))) or PyJsStrictEq(var.get('delim'),Js('⟨'))): var.put('delim', Js('\\langle')) else: @@ -4372,74 +4918,82 @@ def PyJs_makeCustomSizedDelim_193_(delim, height, center, options, mode, classes var.put('sequence', var.get('stackAlwaysDelimiterSequence')) var.put('delimType', var.get('traverseSequence')(var.get('delim'), var.get('height'), var.get('sequence'), var.get('options'))) if PyJsStrictEq(var.get('delimType').get('type'),Js('small')): - return var.get('delimiter_makeSmallDelim')(var.get('delim'), var.get('delimType').get('style'), var.get('center'), var.get('options'), var.get('mode'), var.get('classes')) + return var.get('makeSmallDelim')(var.get('delim'), var.get('delimType').get('style'), var.get('center'), var.get('options'), var.get('mode'), var.get('classes')) else: if PyJsStrictEq(var.get('delimType').get('type'),Js('large')): - return var.get('delimiter_makeLargeDelim')(var.get('delim'), var.get('delimType').get('size'), var.get('center'), var.get('options'), var.get('mode'), var.get('classes')) + return var.get('makeLargeDelim')(var.get('delim'), var.get('delimType').get('size'), var.get('center'), var.get('options'), var.get('mode'), var.get('classes')) else: - return var.get('delimiter_makeStackedDelim')(var.get('delim'), var.get('height'), var.get('center'), var.get('options'), var.get('mode'), var.get('classes')) - PyJs_makeCustomSizedDelim_193_._set_name('makeCustomSizedDelim') - var.put('delimiter_makeCustomSizedDelim', PyJs_makeCustomSizedDelim_193_) + return var.get('makeStackedDelim')(var.get('delim'), var.get('height'), var.get('center'), var.get('options'), var.get('mode'), var.get('classes')) + PyJs_makeCustomSizedDelim_223_._set_name('makeCustomSizedDelim') + var.put('makeCustomSizedDelim', PyJs_makeCustomSizedDelim_223_) @Js - def PyJs_makeLeftRightDelim_194_(delim, height, depth, options, mode, classes, this, arguments, var=var): - var = Scope({'delim':delim, 'height':height, 'depth':depth, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeLeftRightDelim':PyJs_makeLeftRightDelim_194_}, var) - var.registers(['delimiterFactor', 'axisHeight', 'mode', 'depth', 'options', 'maxDistFromAxis', 'totalHeight', 'delimiterExtend', 'height', 'classes', 'delim']) + def PyJs_makeLeftRightDelim_224_(delim, height, depth, options, mode, classes, this, arguments, var=var): + var = Scope({'delim':delim, 'height':height, 'depth':depth, 'options':options, 'mode':mode, 'classes':classes, 'this':this, 'arguments':arguments, 'makeLeftRightDelim':PyJs_makeLeftRightDelim_224_}, var) + var.registers(['delimiterExtend', 'maxDistFromAxis', 'depth', 'totalHeight', 'delim', 'mode', 'delimiterFactor', 'classes', 'height', 'axisHeight', 'options']) var.put('axisHeight', (var.get('options').callprop('fontMetrics').get('axisHeight')*var.get('options').get('sizeMultiplier'))) var.put('delimiterFactor', Js(901.0)) var.put('delimiterExtend', (Js(5.0)/var.get('options').callprop('fontMetrics').get('ptPerEm'))) var.put('maxDistFromAxis', var.get('Math').callprop('max', (var.get('height')-var.get('axisHeight')), (var.get('depth')+var.get('axisHeight')))) var.put('totalHeight', var.get('Math').callprop('max', ((var.get('maxDistFromAxis')/Js(500.0))*var.get('delimiterFactor')), ((Js(2.0)*var.get('maxDistFromAxis'))-var.get('delimiterExtend')))) - return var.get('delimiter_makeCustomSizedDelim')(var.get('delim'), var.get('totalHeight'), Js(True), var.get('options'), var.get('mode'), var.get('classes')) - PyJs_makeLeftRightDelim_194_._set_name('makeLeftRightDelim') - var.put('makeLeftRightDelim', PyJs_makeLeftRightDelim_194_) - var.put('delimiter', Js({'sqrtImage':var.get('makeSqrtImage'),'sizedDelim':var.get('delimiter_makeSizedDelim'),'customSizedDelim':var.get('delimiter_makeCustomSizedDelim'),'leftRightDelim':var.get('makeLeftRightDelim')})) + return var.get('makeCustomSizedDelim')(var.get('delim'), var.get('totalHeight'), Js(True), var.get('options'), var.get('mode'), var.get('classes')) + PyJs_makeLeftRightDelim_224_._set_name('makeLeftRightDelim') + var.put('makeLeftRightDelim', PyJs_makeLeftRightDelim_224_) + var.put('delimiter', Js({'sqrtImage':var.get('makeSqrtImage'),'sizedDelim':var.get('makeSizedDelim'),'sizeToMaxHeight':var.get('sizeToMaxHeight'),'customSizedDelim':var.get('makeCustomSizedDelim'),'leftRightDelim':var.get('makeLeftRightDelim')})) + pass var.put('delimiterSizes', Js({'\\bigl':Js({'mclass':Js('mopen'),'size':Js(1.0)}),'\\Bigl':Js({'mclass':Js('mopen'),'size':Js(2.0)}),'\\biggl':Js({'mclass':Js('mopen'),'size':Js(3.0)}),'\\Biggl':Js({'mclass':Js('mopen'),'size':Js(4.0)}),'\\bigr':Js({'mclass':Js('mclose'),'size':Js(1.0)}),'\\Bigr':Js({'mclass':Js('mclose'),'size':Js(2.0)}),'\\biggr':Js({'mclass':Js('mclose'),'size':Js(3.0)}),'\\Biggr':Js({'mclass':Js('mclose'),'size':Js(4.0)}),'\\bigm':Js({'mclass':Js('mrel'),'size':Js(1.0)}),'\\Bigm':Js({'mclass':Js('mrel'),'size':Js(2.0)}),'\\biggm':Js({'mclass':Js('mrel'),'size':Js(3.0)}),'\\Biggm':Js({'mclass':Js('mrel'),'size':Js(4.0)}),'\\big':Js({'mclass':Js('mord'),'size':Js(1.0)}),'\\Big':Js({'mclass':Js('mord'),'size':Js(2.0)}),'\\bigg':Js({'mclass':Js('mord'),'size':Js(3.0)}),'\\Bigg':Js({'mclass':Js('mord'),'size':Js(4.0)})})) var.put('delimiters', Js([Js('('), Js('\\lparen'), Js(')'), Js('\\rparen'), Js('['), Js('\\lbrack'), Js(']'), Js('\\rbrack'), Js('\\{'), Js('\\lbrace'), Js('\\}'), Js('\\rbrace'), Js('\\lfloor'), Js('\\rfloor'), Js('⌊'), Js('⌋'), Js('\\lceil'), Js('\\rceil'), Js('⌈'), Js('⌉'), Js('<'), Js('>'), Js('\\langle'), Js('⟨'), Js('\\rangle'), Js('⟩'), Js('\\lt'), Js('\\gt'), Js('\\lvert'), Js('\\rvert'), Js('\\lVert'), Js('\\rVert'), Js('\\lgroup'), Js('\\rgroup'), Js('⟮'), Js('⟯'), Js('\\lmoustache'), Js('\\rmoustache'), Js('⎰'), Js('⎱'), Js('/'), Js('\\backslash'), Js('|'), Js('\\vert'), Js('\\|'), Js('\\Vert'), Js('\\uparrow'), Js('\\Uparrow'), Js('\\downarrow'), Js('\\Downarrow'), Js('\\updownarrow'), Js('\\Updownarrow'), Js('.')])) pass - def PyJs_LONG_198_(var=var): + def PyJs_LONG_228_(var=var): @Js - def PyJs_handler_195_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_195_}, var) + def PyJs_handler_225_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_225_}, var) var.registers(['context', 'delim', 'args']) var.put('delim', var.get('checkDelimiter')(var.get('args').get('0'), var.get('context'))) return Js({'type':Js('delimsizing'),'mode':var.get('context').get('parser').get('mode'),'size':var.get('delimiterSizes').get(var.get('context').get('funcName')).get('size'),'mclass':var.get('delimiterSizes').get(var.get('context').get('funcName')).get('mclass'),'delim':var.get('delim').get('text')}) - PyJs_handler_195_._set_name('handler') + PyJs_handler_225_._set_name('handler') @Js - def PyJs_htmlBuilder_196_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_196_}, var) + def PyJs_htmlBuilder_226_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_226_}, var) var.registers(['group', 'options']) if PyJsStrictEq(var.get('group').get('delim'),Js('.')): return var.get('buildCommon').callprop('makeSpan', Js([var.get('group').get('mclass')])) return var.get('delimiter').callprop('sizedDelim', var.get('group').get('delim'), var.get('group').get('size'), var.get('options'), var.get('group').get('mode'), Js([var.get('group').get('mclass')])) - PyJs_htmlBuilder_196_._set_name('htmlBuilder') + PyJs_htmlBuilder_226_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_197_(group, this, arguments, var=var): - var = Scope({'group':group, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_197_}, var) - var.registers(['node', 'group', 'children']) + def PyJs_mathmlBuilder_227_(group, this, arguments, var=var): + var = Scope({'group':group, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_227_}, var) + var.registers(['children', 'group', 'node']) var.put('children', Js([])) if PyJsStrictNeq(var.get('group').get('delim'),Js('.')): - var.get('children').callprop('push', var.get('buildMathML_makeText')(var.get('group').get('delim'), var.get('group').get('mode'))) + var.get('children').callprop('push', var.get('makeText')(var.get('group').get('delim'), var.get('group').get('mode'))) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mo'), var.get('children'))) if (PyJsStrictEq(var.get('group').get('mclass'),Js('mopen')) or PyJsStrictEq(var.get('group').get('mclass'),Js('mclose'))): var.get('node').callprop('setAttribute', Js('fence'), Js('true')) else: var.get('node').callprop('setAttribute', Js('fence'), Js('false')) + var.get('node').callprop('setAttribute', Js('stretchy'), Js('true')) + var.get('node').callprop('setAttribute', Js('minsize'), (var.get('delimiter').get('sizeToMaxHeight').get(var.get('group').get('size'))+Js('em'))) + var.get('node').callprop('setAttribute', Js('maxsize'), (var.get('delimiter').get('sizeToMaxHeight').get(var.get('group').get('size'))+Js('em'))) return var.get('node') - PyJs_mathmlBuilder_197_._set_name('mathmlBuilder') - return var.get('defineFunction')(Js({'type':Js('delimsizing'),'names':Js([Js('\\bigl'), Js('\\Bigl'), Js('\\biggl'), Js('\\Biggl'), Js('\\bigr'), Js('\\Bigr'), Js('\\biggr'), Js('\\Biggr'), Js('\\bigm'), Js('\\Bigm'), Js('\\biggm'), Js('\\Biggm'), Js('\\big'), Js('\\Big'), Js('\\bigg'), Js('\\Bigg')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_195_,'htmlBuilder':PyJs_htmlBuilder_196_,'mathmlBuilder':PyJs_mathmlBuilder_197_})) - PyJs_LONG_198_() + PyJs_mathmlBuilder_227_._set_name('mathmlBuilder') + return var.get('defineFunction')(Js({'type':Js('delimsizing'),'names':Js([Js('\\bigl'), Js('\\Bigl'), Js('\\biggl'), Js('\\Biggl'), Js('\\bigr'), Js('\\Bigr'), Js('\\biggr'), Js('\\Biggr'), Js('\\bigm'), Js('\\Bigm'), Js('\\biggm'), Js('\\Biggm'), Js('\\big'), Js('\\Big'), Js('\\bigg'), Js('\\Bigg')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('primitive')])}),'handler':PyJs_handler_225_,'htmlBuilder':PyJs_htmlBuilder_226_,'mathmlBuilder':PyJs_mathmlBuilder_227_})) + PyJs_LONG_228_() pass @Js - def PyJs_handler_199_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_199_}, var) - var.registers(['context', 'args']) - return Js({'type':Js('leftright-right'),'mode':var.get('context').get('parser').get('mode'),'delim':var.get('checkDelimiter')(var.get('args').get('0'), var.get('context')).get('text')}) - PyJs_handler_199_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('leftright-right'),'names':Js([Js('\\right')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_199_})) + def PyJs_handler_229_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_229_}, var) + var.registers(['color', 'context', 'args']) + var.put('color', var.get('context').get('parser').get('gullet').get('macros').callprop('get', Js('\\current@color'))) + if (var.get('color') and PyJsStrictNeq(var.get('color',throw=False).typeof(),Js('string'))): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('\\current@color set to non-string in \\right'))) + raise PyJsTempException + return Js({'type':Js('leftright-right'),'mode':var.get('context').get('parser').get('mode'),'delim':var.get('checkDelimiter')(var.get('args').get('0'), var.get('context')).get('text'),'color':var.get('color')}) + PyJs_handler_229_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('leftright-right'),'names':Js([Js('\\right')]),'props':Js({'numArgs':Js(1.0),'primitive':Js(True)}),'handler':PyJs_handler_229_})) @Js - def PyJs_handler_200_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_200_}, var) - var.registers(['body', 'context', 'right', 'args', 'parser', 'delim']) + def PyJs_handler_230_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_230_}, var) + var.registers(['parser', 'delim', 'right', 'body', 'context', 'args']) var.put('delim', var.get('checkDelimiter')(var.get('args').get('0'), var.get('context'))) var.put('parser', var.get('context').get('parser')) var.get('parser').put('leftrightDepth',Js(var.get('parser').get('leftrightDepth').to_number())+Js(1)) @@ -4447,14 +5001,14 @@ def PyJs_handler_200_(context, args, this, arguments, var=var): var.get('parser').put('leftrightDepth',Js(var.get('parser').get('leftrightDepth').to_number())-Js(1)) var.get('parser').callprop('expect', Js('\\right'), Js(False)) var.put('right', var.get('assertNodeType')(var.get('parser').callprop('parseFunction'), Js('leftright-right'))) - return Js({'type':Js('leftright'),'mode':var.get('parser').get('mode'),'body':var.get('body'),'left':var.get('delim').get('text'),'right':var.get('right').get('delim')}) - PyJs_handler_200_._set_name('handler') + return Js({'type':Js('leftright'),'mode':var.get('parser').get('mode'),'body':var.get('body'),'left':var.get('delim').get('text'),'right':var.get('right').get('delim'),'rightColor':var.get('right').get('color')}) + PyJs_handler_230_._set_name('handler') @Js - def PyJs_htmlBuilder_201_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_201_}, var) - var.registers(['i', 'innerHeight', 'middleDelim', 'group', 'hadMiddle', '_i', 'options', 'leftDelim', 'innerDepth', 'rightDelim', 'isMiddle', 'inner']) + def PyJs_htmlBuilder_231_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_231_}, var) + var.registers(['middleDelim', 'leftDelim', 'rightDelim', '_i', 'group', 'inner', 'i', 'innerDepth', 'innerHeight', 'hadMiddle', 'isMiddle', 'colorOptions', 'options']) var.get('assertParsed')(var.get('group')) - var.put('inner', var.get('buildHTML_buildExpression')(var.get('group').get('body'), var.get('options'), Js(True), Js([Js('mopen'), Js('mclose')]))) + var.put('inner', var.get('buildExpression')(var.get('group').get('body'), var.get('options'), Js(True), Js([Js('mopen'), Js('mclose')]))) var.put('innerHeight', Js(0.0)) var.put('innerDepth', Js(0.0)) var.put('hadMiddle', Js(False)) @@ -4492,41 +5046,44 @@ def PyJs_htmlBuilder_201_(group, options, this, arguments, var=var): if PyJsStrictEq(var.get('group').get('right'),Js('.')): var.put('rightDelim', var.get('makeNullDelimiter')(var.get('options'), Js([Js('mclose')]))) else: - var.put('rightDelim', var.get('delimiter').callprop('leftRightDelim', var.get('group').get('right'), var.get('innerHeight'), var.get('innerDepth'), var.get('options'), var.get('group').get('mode'), Js([Js('mclose')]))) + var.put('colorOptions', (var.get('options').callprop('withColor', var.get('group').get('rightColor')) if var.get('group').get('rightColor') else var.get('options'))) + var.put('rightDelim', var.get('delimiter').callprop('leftRightDelim', var.get('group').get('right'), var.get('innerHeight'), var.get('innerDepth'), var.get('colorOptions'), var.get('group').get('mode'), Js([Js('mclose')]))) var.get('inner').callprop('push', var.get('rightDelim')) return var.get('buildCommon').callprop('makeSpan', Js([Js('minner')]), var.get('inner'), var.get('options')) - PyJs_htmlBuilder_201_._set_name('htmlBuilder') + PyJs_htmlBuilder_231_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_202_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_202_}, var) - var.registers(['rightNode', 'leftNode', 'group', 'options', 'inner']) + def PyJs_mathmlBuilder_232_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_232_}, var) + var.registers(['group', 'rightNode', 'inner', 'leftNode', 'options']) var.get('assertParsed')(var.get('group')) var.put('inner', var.get('buildMathML_buildExpression')(var.get('group').get('body'), var.get('options'))) if PyJsStrictNeq(var.get('group').get('left'),Js('.')): - var.put('leftNode', var.get('mathMLTree').get('MathNode').create(Js('mo'), Js([var.get('buildMathML_makeText')(var.get('group').get('left'), var.get('group').get('mode'))]))) + var.put('leftNode', var.get('mathMLTree').get('MathNode').create(Js('mo'), Js([var.get('makeText')(var.get('group').get('left'), var.get('group').get('mode'))]))) var.get('leftNode').callprop('setAttribute', Js('fence'), Js('true')) var.get('inner').callprop('unshift', var.get('leftNode')) if PyJsStrictNeq(var.get('group').get('right'),Js('.')): - var.put('rightNode', var.get('mathMLTree').get('MathNode').create(Js('mo'), Js([var.get('buildMathML_makeText')(var.get('group').get('right'), var.get('group').get('mode'))]))) + var.put('rightNode', var.get('mathMLTree').get('MathNode').create(Js('mo'), Js([var.get('makeText')(var.get('group').get('right'), var.get('group').get('mode'))]))) var.get('rightNode').callprop('setAttribute', Js('fence'), Js('true')) + if var.get('group').get('rightColor'): + var.get('rightNode').callprop('setAttribute', Js('mathcolor'), var.get('group').get('rightColor')) var.get('inner').callprop('push', var.get('rightNode')) - return var.get('buildMathML_makeRow')(var.get('inner')) - PyJs_mathmlBuilder_202_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('leftright'),'names':Js([Js('\\left')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_200_,'htmlBuilder':PyJs_htmlBuilder_201_,'mathmlBuilder':PyJs_mathmlBuilder_202_})) + return var.get('makeRow')(var.get('inner')) + PyJs_mathmlBuilder_232_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('leftright'),'names':Js([Js('\\left')]),'props':Js({'numArgs':Js(1.0),'primitive':Js(True)}),'handler':PyJs_handler_230_,'htmlBuilder':PyJs_htmlBuilder_231_,'mathmlBuilder':PyJs_mathmlBuilder_232_})) @Js - def PyJs_handler_203_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_203_}, var) + def PyJs_handler_233_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_233_}, var) var.registers(['context', 'delim', 'args']) var.put('delim', var.get('checkDelimiter')(var.get('args').get('0'), var.get('context'))) if var.get('context').get('parser').get('leftrightDepth').neg(): PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('\\middle without preceding \\left'), var.get('delim'))) raise PyJsTempException return Js({'type':Js('middle'),'mode':var.get('context').get('parser').get('mode'),'delim':var.get('delim').get('text')}) - PyJs_handler_203_._set_name('handler') + PyJs_handler_233_._set_name('handler') @Js - def PyJs_htmlBuilder_204_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_204_}, var) - var.registers(['isMiddle', 'group', 'options', 'middleDelim']) + def PyJs_htmlBuilder_234_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_234_}, var) + var.registers(['middleDelim', 'isMiddle', 'group', 'options']) pass if PyJsStrictEq(var.get('group').get('delim'),Js('.')): var.put('middleDelim', var.get('makeNullDelimiter')(var.get('options'), Js([]))) @@ -4535,24 +5092,25 @@ def PyJs_htmlBuilder_204_(group, options, this, arguments, var=var): var.put('isMiddle', Js({'delim':var.get('group').get('delim'),'options':var.get('options')})) var.get('middleDelim').put('isMiddle', var.get('isMiddle')) return var.get('middleDelim') - PyJs_htmlBuilder_204_._set_name('htmlBuilder') + PyJs_htmlBuilder_234_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_205_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_205_}, var) - var.registers(['group', 'textNode', 'middleNode', 'options']) - var.put('textNode', (var.get('buildMathML_makeText')(Js('|'), Js('text')) if (PyJsStrictEq(var.get('group').get('delim'),Js('\\vert')) or PyJsStrictEq(var.get('group').get('delim'),Js('|'))) else var.get('buildMathML_makeText')(var.get('group').get('delim'), var.get('group').get('mode')))) + def PyJs_mathmlBuilder_235_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_235_}, var) + var.registers(['group', 'options', 'textNode', 'middleNode']) + var.put('textNode', (var.get('makeText')(Js('|'), Js('text')) if (PyJsStrictEq(var.get('group').get('delim'),Js('\\vert')) or PyJsStrictEq(var.get('group').get('delim'),Js('|'))) else var.get('makeText')(var.get('group').get('delim'), var.get('group').get('mode')))) var.put('middleNode', var.get('mathMLTree').get('MathNode').create(Js('mo'), Js([var.get('textNode')]))) var.get('middleNode').callprop('setAttribute', Js('fence'), Js('true')) var.get('middleNode').callprop('setAttribute', Js('lspace'), Js('0.05em')) var.get('middleNode').callprop('setAttribute', Js('rspace'), Js('0.05em')) return var.get('middleNode') - PyJs_mathmlBuilder_205_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('middle'),'names':Js([Js('\\middle')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_203_,'htmlBuilder':PyJs_htmlBuilder_204_,'mathmlBuilder':PyJs_mathmlBuilder_205_})) + PyJs_mathmlBuilder_235_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('middle'),'names':Js([Js('\\middle')]),'props':Js({'numArgs':Js(1.0),'primitive':Js(True)}),'handler':PyJs_handler_233_,'htmlBuilder':PyJs_htmlBuilder_234_,'mathmlBuilder':PyJs_mathmlBuilder_235_})) + pass @Js - def PyJs_htmlBuilder_206_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_206_}, var) - var.registers(['label', 'img', 'isSingleChar', 'group', 'options', 'scale', 'imgShift', 'inner', 'vlist', 'vertPad']) - var.put('inner', var.get('buildCommon').callprop('wrapFragment', var.get('buildHTML_buildGroup')(var.get('group').get('body'), var.get('options')), var.get('options'))) + def PyJs_htmlBuilder_236_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_236_}, var) + var.registers(['vlist', 'lineWeight', 'isSingleChar', 'newOptions', 'topPad', 'img', 'group', 'scale', 'inner', 'path', 'classes', 'angleHeight', 'imgShift', 'bottomPad', 'ruleThickness', 'svgNode', 'label', 'viewBoxHeight', 'options', 'clearance']) + var.put('inner', var.get('buildCommon').callprop('wrapFragment', var.get('buildGroup')(var.get('group').get('body'), var.get('options')), var.get('options'))) var.put('label', var.get('group').get('label').callprop('substr', Js(1.0))) var.put('scale', var.get('options').get('sizeMultiplier')) pass @@ -4563,27 +5121,62 @@ def PyJs_htmlBuilder_206_(group, options, this, arguments, var=var): var.get('img').put('height', (var.get('options').callprop('fontMetrics').get('defaultRuleThickness')/var.get('scale'))) var.put('imgShift', ((-Js(0.5))*var.get('options').callprop('fontMetrics').get('xHeight'))) else: - if JsRegExp('/cancel/').callprop('test', var.get('label')): - if var.get('isSingleChar').neg(): - var.get('inner').get('classes').callprop('push', Js('cancel-pad')) - else: - var.get('inner').get('classes').callprop('push', Js('boxpad')) - var.put('vertPad', Js(0.0)) - if JsRegExp('/box/').callprop('test', var.get('label')): - var.put('vertPad', (Js(0.3) if PyJsStrictEq(var.get('label'),Js('colorbox')) else Js(0.34))) + if PyJsStrictEq(var.get('label'),Js('phase')): + var.put('lineWeight', var.get('calculateSize')(Js({'number':Js(0.6),'unit':Js('pt')}), var.get('options'))) + var.put('clearance', var.get('calculateSize')(Js({'number':Js(0.35),'unit':Js('ex')}), var.get('options'))) + var.put('newOptions', var.get('options').callprop('havingBaseSizing')) + var.put('scale', (var.get('scale')/var.get('newOptions').get('sizeMultiplier'))) + var.put('angleHeight', (((var.get('inner').get('height')+var.get('inner').get('depth'))+var.get('lineWeight'))+var.get('clearance'))) + var.get('inner').get('style').put('paddingLeft', (((var.get('angleHeight')/Js(2.0))+var.get('lineWeight'))+Js('em'))) + var.put('viewBoxHeight', var.get('Math').callprop('floor', ((Js(1000.0)*var.get('angleHeight'))*var.get('scale')))) + var.put('path', var.get('phasePath')(var.get('viewBoxHeight'))) + var.put('svgNode', var.get('SvgNode').create(Js([var.get('PathNode').create(Js('phase'), var.get('path'))]), Js({'width':Js('400em'),'height':((var.get('viewBoxHeight')/Js(1000.0))+Js('em')),'viewBox':(Js('0 0 400000 ')+var.get('viewBoxHeight')),'preserveAspectRatio':Js('xMinYMin slice')}))) + var.put('img', var.get('buildCommon').callprop('makeSvgSpan', Js([Js('hide-tail')]), Js([var.get('svgNode')]), var.get('options'))) + var.get('img').get('style').put('height', (var.get('angleHeight')+Js('em'))) + var.put('imgShift', ((var.get('inner').get('depth')+var.get('lineWeight'))+var.get('clearance'))) else: - var.put('vertPad', (Js(0.2) if var.get('isSingleChar') else Js(0.0))) - var.put('img', var.get('stretchy').callprop('encloseSpan', var.get('inner'), var.get('label'), var.get('vertPad'), var.get('options'))) - var.put('imgShift', (var.get('inner').get('depth')+var.get('vertPad'))) - if var.get('group').get('backgroundColor'): - var.get('img').get('style').put('backgroundColor', var.get('group').get('backgroundColor')) - if var.get('group').get('borderColor'): - var.get('img').get('style').put('borderColor', var.get('group').get('borderColor')) + if JsRegExp('/cancel/').callprop('test', var.get('label')): + if var.get('isSingleChar').neg(): + var.get('inner').get('classes').callprop('push', Js('cancel-pad')) + else: + if PyJsStrictEq(var.get('label'),Js('angl')): + var.get('inner').get('classes').callprop('push', Js('anglpad')) + else: + var.get('inner').get('classes').callprop('push', Js('boxpad')) + var.put('topPad', Js(0.0)) + var.put('bottomPad', Js(0.0)) + var.put('ruleThickness', Js(0.0)) + if JsRegExp('/box/').callprop('test', var.get('label')): + var.put('ruleThickness', var.get('Math').callprop('max', var.get('options').callprop('fontMetrics').get('fboxrule'), var.get('options').get('minRuleThickness'))) + var.put('topPad', (var.get('options').callprop('fontMetrics').get('fboxsep')+(Js(0.0) if PyJsStrictEq(var.get('label'),Js('colorbox')) else var.get('ruleThickness')))) + var.put('bottomPad', var.get('topPad')) + else: + if PyJsStrictEq(var.get('label'),Js('angl')): + var.put('ruleThickness', var.get('Math').callprop('max', var.get('options').callprop('fontMetrics').get('defaultRuleThickness'), var.get('options').get('minRuleThickness'))) + var.put('topPad', (Js(4.0)*var.get('ruleThickness'))) + var.put('bottomPad', var.get('Math').callprop('max', Js(0.0), (Js(0.25)-var.get('inner').get('depth')))) + else: + var.put('topPad', (Js(0.2) if var.get('isSingleChar') else Js(0.0))) + var.put('bottomPad', var.get('topPad')) + var.put('img', var.get('stretchy').callprop('encloseSpan', var.get('inner'), var.get('label'), var.get('topPad'), var.get('bottomPad'), var.get('options'))) + if JsRegExp('/fbox|boxed|fcolorbox/').callprop('test', var.get('label')): + var.get('img').get('style').put('borderStyle', Js('solid')) + var.get('img').get('style').put('borderWidth', (var.get('ruleThickness')+Js('em'))) + else: + if (PyJsStrictEq(var.get('label'),Js('angl')) and PyJsStrictNeq(var.get('ruleThickness'),Js(0.049))): + var.get('img').get('style').put('borderTopWidth', (var.get('ruleThickness')+Js('em'))) + var.get('img').get('style').put('borderRightWidth', (var.get('ruleThickness')+Js('em'))) + var.put('imgShift', (var.get('inner').get('depth')+var.get('bottomPad'))) + if var.get('group').get('backgroundColor'): + var.get('img').get('style').put('backgroundColor', var.get('group').get('backgroundColor')) + if var.get('group').get('borderColor'): + var.get('img').get('style').put('borderColor', var.get('group').get('borderColor')) pass if var.get('group').get('backgroundColor'): var.put('vlist', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('individualShift'),'children':Js([Js({'type':Js('elem'),'elem':var.get('img'),'shift':var.get('imgShift')}), Js({'type':Js('elem'),'elem':var.get('inner'),'shift':Js(0.0)})])}), var.get('options'))) else: - var.put('vlist', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('individualShift'),'children':Js([Js({'type':Js('elem'),'elem':var.get('inner'),'shift':Js(0.0)}), Js({'type':Js('elem'),'elem':var.get('img'),'shift':var.get('imgShift'),'wrapperClasses':(Js([Js('svg-align')]) if JsRegExp('/cancel/').callprop('test', var.get('label')) else Js([]))})])}), var.get('options'))) + var.put('classes', (Js([Js('svg-align')]) if JsRegExp('/cancel|phase/').callprop('test', var.get('label')) else Js([]))) + var.put('vlist', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('individualShift'),'children':Js([Js({'type':Js('elem'),'elem':var.get('inner'),'shift':Js(0.0)}), Js({'type':Js('elem'),'elem':var.get('img'),'shift':var.get('imgShift'),'wrapperClasses':var.get('classes')})])}), var.get('options'))) if JsRegExp('/cancel/').callprop('test', var.get('label')): var.get('vlist').put('height', var.get('inner').get('height')) var.get('vlist').put('depth', var.get('inner').get('depth')) @@ -4591,12 +5184,13 @@ def PyJs_htmlBuilder_206_(group, options, this, arguments, var=var): return var.get('buildCommon').callprop('makeSpan', Js([Js('mord'), Js('cancel-lap')]), Js([var.get('vlist')]), var.get('options')) else: return var.get('buildCommon').callprop('makeSpan', Js([Js('mord')]), Js([var.get('vlist')]), var.get('options')) - PyJs_htmlBuilder_206_._set_name('htmlBuilder') - var.put('enclose_htmlBuilder', PyJs_htmlBuilder_206_) + PyJs_htmlBuilder_236_._set_name('htmlBuilder') + var.put('enclose_htmlBuilder', PyJs_htmlBuilder_236_) @Js - def PyJs_mathmlBuilder_207_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_207_}, var) - var.registers(['node', 'group', 'options', 'thk']) + def PyJs_mathmlBuilder_237_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_237_}, var) + var.registers(['fboxsep', 'group', 'node', 'thk', 'options']) + var.put('fboxsep', Js(0.0)) var.put('node', var.get('mathMLTree').get('MathNode').create((Js('mpadded') if (var.get('group').get('label').callprop('indexOf', Js('colorbox'))>(-Js(1.0))) else Js('menclose')), Js([var.get('buildMathML_buildGroup')(var.get('group').get('body'), var.get('options'))]))) while 1: SWITCHED = False @@ -4609,6 +5203,10 @@ def PyJs_mathmlBuilder_207_(group, options, this, arguments, var=var): SWITCHED = True var.get('node').callprop('setAttribute', Js('notation'), Js('downdiagonalstrike')) break + if SWITCHED or PyJsStrictEq(CONDITION, Js('\\phase')): + SWITCHED = True + var.get('node').callprop('setAttribute', Js('notation'), Js('phasorangle')) + break if SWITCHED or PyJsStrictEq(CONDITION, Js('\\sout')): SWITCHED = True var.get('node').callprop('setAttribute', Js('notation'), Js('horizontalstrike')) @@ -4617,17 +5215,22 @@ def PyJs_mathmlBuilder_207_(group, options, this, arguments, var=var): SWITCHED = True var.get('node').callprop('setAttribute', Js('notation'), Js('box')) break + if SWITCHED or PyJsStrictEq(CONDITION, Js('\\angl')): + SWITCHED = True + var.get('node').callprop('setAttribute', Js('notation'), Js('actuarial')) + break if SWITCHED or PyJsStrictEq(CONDITION, Js('\\fcolorbox')): SWITCHED = True pass if SWITCHED or PyJsStrictEq(CONDITION, Js('\\colorbox')): SWITCHED = True - var.get('node').callprop('setAttribute', Js('width'), Js('+6pt')) - var.get('node').callprop('setAttribute', Js('height'), Js('+6pt')) - var.get('node').callprop('setAttribute', Js('lspace'), Js('3pt')) - var.get('node').callprop('setAttribute', Js('voffset'), Js('3pt')) + var.put('fboxsep', (var.get('options').callprop('fontMetrics').get('fboxsep')*var.get('options').callprop('fontMetrics').get('ptPerEm'))) + var.get('node').callprop('setAttribute', Js('width'), ((Js('+')+(Js(2.0)*var.get('fboxsep')))+Js('pt'))) + var.get('node').callprop('setAttribute', Js('height'), ((Js('+')+(Js(2.0)*var.get('fboxsep')))+Js('pt'))) + var.get('node').callprop('setAttribute', Js('lspace'), (var.get('fboxsep')+Js('pt'))) + var.get('node').callprop('setAttribute', Js('voffset'), (var.get('fboxsep')+Js('pt'))) if PyJsStrictEq(var.get('group').get('label'),Js('\\fcolorbox')): - var.put('thk', var.get('options').callprop('fontMetrics').get('defaultRuleThickness')) + var.put('thk', var.get('Math').callprop('max', var.get('options').callprop('fontMetrics').get('fboxrule'), var.get('options').get('minRuleThickness'))) var.get('node').callprop('setAttribute', Js('style'), (((Js('border: ')+var.get('thk'))+Js('em solid '))+var.get('String')(var.get('group').get('borderColor')))) break if SWITCHED or PyJsStrictEq(CONDITION, Js('\\xcancel')): @@ -4639,62 +5242,82 @@ def PyJs_mathmlBuilder_207_(group, options, this, arguments, var=var): if var.get('group').get('backgroundColor'): var.get('node').callprop('setAttribute', Js('mathbackground'), var.get('group').get('backgroundColor')) return var.get('node') - PyJs_mathmlBuilder_207_._set_name('mathmlBuilder') - var.put('enclose_mathmlBuilder', PyJs_mathmlBuilder_207_) + PyJs_mathmlBuilder_237_._set_name('mathmlBuilder') + var.put('enclose_mathmlBuilder', PyJs_mathmlBuilder_237_) @Js - def PyJs_handler_208_(_ref, args, optArgs, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_208_}, var) - var.registers(['funcName', 'color', 'body', 'optArgs', '_ref', 'args', 'parser']) + def PyJs_handler_238_(_ref, args, optArgs, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_238_}, var) + var.registers(['optArgs', '_ref', 'parser', 'body', 'color', 'funcName', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('funcName', var.get('_ref').get('funcName')) var.put('color', var.get('assertNodeType')(var.get('args').get('0'), Js('color-token')).get('color')) var.put('body', var.get('args').get('1')) return Js({'type':Js('enclose'),'mode':var.get('parser').get('mode'),'label':var.get('funcName'),'backgroundColor':var.get('color'),'body':var.get('body')}) - PyJs_handler_208_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('enclose'),'names':Js([Js('\\colorbox')]),'props':Js({'numArgs':Js(2.0),'allowedInText':Js(True),'greediness':Js(3.0),'argTypes':Js([Js('color'), Js('text')])}),'handler':PyJs_handler_208_,'htmlBuilder':var.get('enclose_htmlBuilder'),'mathmlBuilder':var.get('enclose_mathmlBuilder')})) + PyJs_handler_238_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('enclose'),'names':Js([Js('\\colorbox')]),'props':Js({'numArgs':Js(2.0),'allowedInText':Js(True),'argTypes':Js([Js('color'), Js('text')])}),'handler':PyJs_handler_238_,'htmlBuilder':var.get('enclose_htmlBuilder'),'mathmlBuilder':var.get('enclose_mathmlBuilder')})) @Js - def PyJs_handler_209_(_ref2, args, optArgs, this, arguments, var=var): - var = Scope({'_ref2':_ref2, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_209_}, var) - var.registers(['funcName', 'backgroundColor', 'body', 'borderColor', 'optArgs', 'args', 'parser', '_ref2']) + def PyJs_handler_239_(_ref2, args, optArgs, this, arguments, var=var): + var = Scope({'_ref2':_ref2, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_239_}, var) + var.registers(['optArgs', 'parser', 'body', '_ref2', 'funcName', 'backgroundColor', 'borderColor', 'args']) var.put('parser', var.get('_ref2').get('parser')) var.put('funcName', var.get('_ref2').get('funcName')) var.put('borderColor', var.get('assertNodeType')(var.get('args').get('0'), Js('color-token')).get('color')) var.put('backgroundColor', var.get('assertNodeType')(var.get('args').get('1'), Js('color-token')).get('color')) var.put('body', var.get('args').get('2')) return Js({'type':Js('enclose'),'mode':var.get('parser').get('mode'),'label':var.get('funcName'),'backgroundColor':var.get('backgroundColor'),'borderColor':var.get('borderColor'),'body':var.get('body')}) - PyJs_handler_209_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('enclose'),'names':Js([Js('\\fcolorbox')]),'props':Js({'numArgs':Js(3.0),'allowedInText':Js(True),'greediness':Js(3.0),'argTypes':Js([Js('color'), Js('color'), Js('text')])}),'handler':PyJs_handler_209_,'htmlBuilder':var.get('enclose_htmlBuilder'),'mathmlBuilder':var.get('enclose_mathmlBuilder')})) + PyJs_handler_239_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('enclose'),'names':Js([Js('\\fcolorbox')]),'props':Js({'numArgs':Js(3.0),'allowedInText':Js(True),'argTypes':Js([Js('color'), Js('color'), Js('text')])}),'handler':PyJs_handler_239_,'htmlBuilder':var.get('enclose_htmlBuilder'),'mathmlBuilder':var.get('enclose_mathmlBuilder')})) @Js - def PyJs_handler_210_(_ref3, args, this, arguments, var=var): - var = Scope({'_ref3':_ref3, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_210_}, var) - var.registers(['parser', '_ref3', 'args']) + def PyJs_handler_240_(_ref3, args, this, arguments, var=var): + var = Scope({'_ref3':_ref3, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_240_}, var) + var.registers(['args', 'parser', '_ref3']) var.put('parser', var.get('_ref3').get('parser')) return Js({'type':Js('enclose'),'mode':var.get('parser').get('mode'),'label':Js('\\fbox'),'body':var.get('args').get('0')}) - PyJs_handler_210_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('enclose'),'names':Js([Js('\\fbox')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('text')]),'allowedInText':Js(True)}),'handler':PyJs_handler_210_})) + PyJs_handler_240_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('enclose'),'names':Js([Js('\\fbox')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('hbox')]),'allowedInText':Js(True)}),'handler':PyJs_handler_240_})) @Js - def PyJs_handler_211_(_ref4, args, optArgs, this, arguments, var=var): - var = Scope({'_ref4':_ref4, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_211_}, var) - var.registers(['funcName', '_ref4', 'body', 'optArgs', 'args', 'parser']) + def PyJs_handler_241_(_ref4, args, this, arguments, var=var): + var = Scope({'_ref4':_ref4, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_241_}, var) + var.registers(['_ref4', 'parser', 'body', 'funcName', 'args']) var.put('parser', var.get('_ref4').get('parser')) var.put('funcName', var.get('_ref4').get('funcName')) var.put('body', var.get('args').get('0')) return Js({'type':Js('enclose'),'mode':var.get('parser').get('mode'),'label':var.get('funcName'),'body':var.get('body')}) - PyJs_handler_211_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('enclose'),'names':Js([Js('\\cancel'), Js('\\bcancel'), Js('\\xcancel'), Js('\\sout')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_211_,'htmlBuilder':var.get('enclose_htmlBuilder'),'mathmlBuilder':var.get('enclose_mathmlBuilder')})) + PyJs_handler_241_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('enclose'),'names':Js([Js('\\cancel'), Js('\\bcancel'), Js('\\xcancel'), Js('\\sout'), Js('\\phase')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_241_,'htmlBuilder':var.get('enclose_htmlBuilder'),'mathmlBuilder':var.get('enclose_mathmlBuilder')})) + @Js + def PyJs_handler_242_(_ref5, args, this, arguments, var=var): + var = Scope({'_ref5':_ref5, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_242_}, var) + var.registers(['args', 'parser', '_ref5']) + var.put('parser', var.get('_ref5').get('parser')) + return Js({'type':Js('enclose'),'mode':var.get('parser').get('mode'),'label':Js('\\angl'),'body':var.get('args').get('0')}) + PyJs_handler_242_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('enclose'),'names':Js([Js('\\angl')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('hbox')]),'allowedInText':Js(False)}),'handler':PyJs_handler_242_})) + pass var.put('_environments', Js({})) pass pass pass + @Js + def PyJs_validateAmsEnvironmentContext_243_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments, 'validateAmsEnvironmentContext':PyJs_validateAmsEnvironmentContext_243_}, var) + var.registers(['context', 'settings']) + var.put('settings', var.get('context').get('parser').get('settings')) + if var.get('settings').get('displayMode').neg(): + PyJsTempException = JsToPyException(var.get('src_ParseError').create((((Js('{')+var.get('context').get('envName'))+Js('} can be used only in'))+Js(' display mode.')))) + raise PyJsTempException + PyJs_validateAmsEnvironmentContext_243_._set_name('validateAmsEnvironmentContext') + var.put('validateAmsEnvironmentContext', PyJs_validateAmsEnvironmentContext_243_) + pass pass @Js - def PyJs_htmlBuilder_212_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_212_}, var) - var.registers(['elem', 'arrayskip', 'arraycolsep', 'line', 'colDescr', 'r', 'colSep', 'outrow', 'col', 'vListElems', 'body', 'options', 'cols', 'colDescrNum', 'separator', '_separator', 'hline', 'rowGap', 'dashes', 'setHLinePos', 'totalHeight', 'gap', 'row', 'jot', 'offset', 'colDescriptions', 'nc', 'inrow', 'c', 'nr', 'firstSeparator', 'arstrutHeight', 'arstrutDepth', 'depth', 'lineShift', 'group', 'shift', 'baselineskip', 'hLinesBeforeRow', 'sepwidth', 'height', 'pt', 'hlines', 'elt']) + def PyJs_htmlBuilder_244_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_244_}, var) + var.registers(['depth', 'dashes', 'line', 'body', 'jot', 'hlines', 'separator', 'eqnNumSpans', 'localMultiplier', 'colSep', 'arraycolsep', 'arstrutDepth', 'colDescrNum', 'lineType', 'vListElems', 'gap', 'c', 'eqnNumCol', 'hline', 'rw', 'arrayskip', 'shift', 'inrow', 'rowGap', 'options', 'nc', 'setHLinePos', 'col', 'elt', 'colDescr', 'colDescriptions', 'totalHeight', 'ruleThickness', 'baselineskip', '_shift', 'cols', 'outrow', 'pt', 'arstrutHeight', 'hLinesBeforeRow', 'firstSeparator', 'row', 'group', 'nr', 'offset', 'elem', 'eqnTag', 'r', 'lineShift', 'sepwidth', 'height']) @Js def PyJsHoisted_setHLinePos_(hlinesInGap, this, arguments, var=var): var = Scope({'hlinesInGap':hlinesInGap, 'this':this, 'arguments':arguments}, var) - var.registers(['hlinesInGap', 'i']) + var.registers(['i', 'hlinesInGap']) #for JS loop var.put('i', Js(0.0)) while (var.get('i')Js(0.0)): var.put('gap', var.get('arstrutDepth'), '+') if (var.get('depth')Js(0.0)): - var.put('line', var.get('buildCommon').callprop('makeLineSpan', Js('hline'), var.get('options'), Js(0.05))) - var.put('dashes', var.get('buildCommon').callprop('makeLineSpan', Js('hdashline'), var.get('options'), Js(0.05))) + var.put('line', var.get('buildCommon').callprop('makeLineSpan', Js('hline'), var.get('options'), var.get('ruleThickness'))) + var.put('dashes', var.get('buildCommon').callprop('makeLineSpan', Js('hdashline'), var.get('options'), var.get('ruleThickness'))) var.put('vListElems', Js([Js({'type':Js('elem'),'elem':var.get('body'),'shift':Js(0.0)})])) while (var.get('hlines').get('length')>Js(0.0)): var.put('hline', var.get('hlines').callprop('pop')) @@ -4846,32 +5485,51 @@ def PyJsHoisted_setHLinePos_(hlinesInGap, this, arguments, var=var): else: var.get('vListElems').callprop('push', Js({'type':Js('elem'),'elem':var.get('line'),'shift':var.get('lineShift')})) var.put('body', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('individualShift'),'children':var.get('vListElems')}), var.get('options'))) - return var.get('buildCommon').callprop('makeSpan', Js([Js('mord')]), Js([var.get('body')]), var.get('options')) - PyJs_htmlBuilder_212_._set_name('htmlBuilder') - var.put('array_htmlBuilder', PyJs_htmlBuilder_212_) + if var.get('group').get('addEqnNum').neg(): + return var.get('buildCommon').callprop('makeSpan', Js([Js('mord')]), Js([var.get('body')]), var.get('options')) + else: + var.put('eqnNumCol', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('individualShift'),'children':var.get('eqnNumSpans')}), var.get('options'))) + var.put('eqnNumCol', var.get('buildCommon').callprop('makeSpan', Js([Js('tag')]), Js([var.get('eqnNumCol')]), var.get('options'))) + return var.get('buildCommon').callprop('makeFragment', Js([var.get('body'), var.get('eqnNumCol')])) + PyJs_htmlBuilder_244_._set_name('htmlBuilder') + var.put('array_htmlBuilder', PyJs_htmlBuilder_244_) var.put('alignMap', Js({'c':Js('center '),'l':Js('left '),'r':Js('right ')})) @Js - def PyJs_mathmlBuilder_213_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_213_}, var) - var.registers(['_cols', 'i', 'menclose', 'iEnd', 'align', '_i2', '_i', 'group', 'options', 'cols', 'table', 'gap', 'spacing', 'columnLines', 'iStart', 'wrapper', 'rowLines', 'hlines', 'prevTypeWasAlign']) - @Js - def PyJs_anonymous_214_(row, this, arguments, var=var): - var = Scope({'row':row, 'this':this, 'arguments':arguments}, var) - var.registers(['row']) - @Js - def PyJs_anonymous_215_(cell, this, arguments, var=var): - var = Scope({'cell':cell, 'this':this, 'arguments':arguments}, var) - var.registers(['cell']) - return var.get('mathMLTree').get('MathNode').create(Js('mtd'), Js([var.get('buildMathML_buildGroup')(var.get('cell'), var.get('options'))])) - PyJs_anonymous_215_._set_name('anonymous') - return var.get('mathMLTree').get('MathNode').create(Js('mtr'), var.get('row').callprop('map', PyJs_anonymous_215_)) - PyJs_anonymous_214_._set_name('anonymous') - var.put('table', var.get('mathMLTree').get('MathNode').create(Js('mtable'), var.get('group').get('body').callprop('map', PyJs_anonymous_214_))) - var.put('gap', (((Js(0.16)+var.get('group').get('arraystretch'))-Js(1.0))+(Js(0.09) if var.get('group').get('addJot') else Js(0.0)))) - var.get('table').callprop('setAttribute', Js('rowspacing'), (var.get('gap')+Js('em'))) + def PyJs_mathmlBuilder_245_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_245_}, var) + var.registers(['_i', 'iEnd', '_i2', 'menclose', 'spacing', 'hlines', 'i', 'align', 'gap', 'tbl', 'rw', 'table', 'options', 'rowLines', '_cols', '_i3', 'cols', 'prevTypeWasAlign', 'j', 'glue', 'iStart', 'row', 'group', 'columnLines', 'tag']) + var.put('tbl', Js([])) + var.put('glue', var.get('mathMLTree').get('MathNode').create(Js('mtd'), Js([]), Js([Js('mtr-glue')]))) + var.put('tag', var.get('mathMLTree').get('MathNode').create(Js('mtd'), Js([]), Js([Js('mml-eqn-num')]))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0))): var.put('cols', var.get('group').get('cols')) var.put('columnLines', Js('')) var.put('prevTypeWasAlign', Js(False)) @@ -4884,21 +5542,21 @@ def PyJs_anonymous_215_(cell, this, arguments, var=var): var.put('menclose', Js('bottom '), '+') var.put('iEnd', Js(1.0), '-') #for JS loop - var.put('i', var.get('iStart')) - while (var.get('i')Js(0.0)) else Js('')), '+') var.put('menclose', (Js('right ') if (var.get('hlines').get((var.get('hlines').get('length')-Js(1.0))).get('length')>Js(0.0)) else Js('')), '+') #for JS loop - var.put('_i2', Js(1.0)) - while (var.get('_i2')<(var.get('hlines').get('length')-Js(1.0))): + var.put('_i3', Js(1.0)) + while (var.get('_i3')<(var.get('hlines').get('length')-Js(1.0))): try: - var.put('rowLines', (Js('none ') if PyJsStrictEq(var.get('hlines').get(var.get('_i2')).get('length'),Js(0.0)) else (Js('dashed ') if var.get('hlines').get(var.get('_i2')).get('0') else Js('solid '))), '+') + var.put('rowLines', (Js('none ') if PyJsStrictEq(var.get('hlines').get(var.get('_i3')).get('length'),Js(0.0)) else (Js('dashed ') if var.get('hlines').get(var.get('_i3')).get('0') else Js('solid '))), '+') finally: - (var.put('_i2',Js(var.get('_i2').to_number())+Js(1))-Js(1)) + (var.put('_i3',Js(var.get('_i3').to_number())+Js(1))-Js(1)) if JsRegExp('/[sd]/').callprop('test', var.get('rowLines')): var.get('table').callprop('setAttribute', Js('rowlines'), var.get('rowLines').callprop('trim')) - if PyJsStrictEq(var.get('menclose'),Js('')): - return var.get('table') - else: - var.put('wrapper', var.get('mathMLTree').get('MathNode').create(Js('menclose'), Js([var.get('table')]))) - var.get('wrapper').callprop('setAttribute', Js('notation'), var.get('menclose').callprop('trim')) - return var.get('wrapper') - PyJs_mathmlBuilder_213_._set_name('mathmlBuilder') - var.put('array_mathmlBuilder', PyJs_mathmlBuilder_213_) - @Js - def PyJs_alignedHandler_216_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'alignedHandler':PyJs_alignedHandler_216_}, var) - var.registers(['numMaths', 'i', 'align', 'emptyGroup', 'arg0', 'context', 'textord', 'pregap', 'cols', 'res', 'numCols', 'isAligned', 'args', 'ordgroup', '_i4']) + if PyJsStrictNeq(var.get('menclose'),Js('')): + var.put('table', var.get('mathMLTree').get('MathNode').create(Js('menclose'), Js([var.get('table')]))) + var.get('table').callprop('setAttribute', Js('notation'), var.get('menclose').callprop('trim')) + if (var.get('group').get('arraystretch') and (var.get('group').get('arraystretch')(-Js(1.0))) else Js('align'))) + def PyJs_LONG_247_(var=var): + return var.get('parseArray')(var.get('context').get('parser'), Js({'cols':var.get('cols'),'addJot':Js(True),'addEqnNum':(PyJsStrictEq(var.get('context').get('envName'),Js('align')) or PyJsStrictEq(var.get('context').get('envName'),Js('alignat'))),'emptySingleRow':Js(True),'colSeparationType':var.get('separationType'),'maxNumCols':(Js(2.0) if PyJsStrictEq(var.get('context').get('envName'),Js('split')) else var.get('undefined')),'leqno':var.get('context').get('parser').get('settings').get('leqno')}), Js('display')) + var.put('res', PyJs_LONG_247_()) pass var.put('numCols', Js(0.0)) var.put('emptyGroup', Js({'type':Js('ordgroup'),'mode':var.get('context').get('mode'),'body':Js([])})) - var.put('ordgroup', var.get('checkNodeType')(var.get('args').get('0'), Js('ordgroup'))) - if var.get('ordgroup'): + if (var.get('args').get('0') and PyJsStrictEq(var.get('args').get('0').get('type'),Js('ordgroup'))): var.put('arg0', Js('')) #for JS loop var.put('i', Js(0.0)) - while (var.get('i')Js(0.0)) and var.get('isAligned')): + if ((var.get('_i5')>Js(0.0)) and var.get('isAligned')): var.put('pregap', Js(1.0)) - var.get('cols').put(var.get('_i4'), Js({'type':Js('align'),'align':var.get('align'),'pregap':var.get('pregap'),'postgap':Js(0.0)})) + var.get('cols').put(var.get('_i5'), Js({'type':Js('align'),'align':var.get('align'),'pregap':var.get('pregap'),'postgap':Js(0.0)})) finally: - var.put('_i4',Js(var.get('_i4').to_number())+Js(1)) + var.put('_i5',Js(var.get('_i5').to_number())+Js(1)) var.get('res').put('colSeparationType', (Js('align') if var.get('isAligned') else Js('alignat'))) return var.get('res') - PyJs_alignedHandler_216_._set_name('alignedHandler') - var.put('array_alignedHandler', PyJs_alignedHandler_216_) + PyJs_alignedHandler_246_._set_name('alignedHandler') + var.put('alignedHandler', PyJs_alignedHandler_246_) @Js - def PyJs_handler_218_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_218_}, var) - var.registers(['context', 'colalign', 'cols', 'res', 'args', 'symNode']) + def PyJs_handler_249_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_249_}, var) + var.registers(['context', 'symNode', 'cols', 'colalign', 'res', 'args']) var.put('symNode', var.get('checkSymbolNodeType')(var.get('args').get('0'))) var.put('colalign', (Js([var.get('args').get('0')]) if var.get('symNode') else var.get('assertNodeType')(var.get('args').get('0'), Js('ordgroup')).get('body'))) @Js - def PyJs_anonymous_219_(nde, this, arguments, var=var): + def PyJs_anonymous_250_(nde, this, arguments, var=var): var = Scope({'nde':nde, 'this':this, 'arguments':arguments}, var) - var.registers(['node', 'nde', 'ca']) + var.registers(['nde', 'ca', 'node']) var.put('node', var.get('assertSymbolNodeType')(var.get('nde'))) var.put('ca', var.get('node').get('text')) if PyJsStrictNeq(Js('lcr').callprop('indexOf', var.get('ca')),(-Js(1.0))): @@ -5025,55 +5694,141 @@ def PyJs_anonymous_219_(nde, this, arguments, var=var): return Js({'type':Js('separator'),'separator':Js(':')}) PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Unknown column alignment: ')+var.get('ca')), var.get('nde'))) raise PyJsTempException - PyJs_anonymous_219_._set_name('anonymous') - var.put('cols', var.get('colalign').callprop('map', PyJs_anonymous_219_)) - var.put('res', Js({'cols':var.get('cols'),'hskipBeforeAndAfter':Js(True)})) + PyJs_anonymous_250_._set_name('anonymous') + var.put('cols', var.get('colalign').callprop('map', PyJs_anonymous_250_)) + var.put('res', Js({'cols':var.get('cols'),'hskipBeforeAndAfter':Js(True),'maxNumCols':var.get('cols').get('length')})) return var.get('parseArray')(var.get('context').get('parser'), var.get('res'), var.get('dCellStyle')(var.get('context').get('envName'))) - PyJs_handler_218_._set_name('handler') - var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('array'), Js('darray')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_218_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) - @Js - def PyJs_handler_220_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_220_}, var) - var.registers(['res', 'context', 'payload', 'delimiters']) - var.put('delimiters', Js({'matrix':var.get(u"null"),'pmatrix':Js([Js('('), Js(')')]),'bmatrix':Js([Js('['), Js(']')]),'Bmatrix':Js([Js('\\{'), Js('\\}')]),'vmatrix':Js([Js('|'), Js('|')]),'Vmatrix':Js([Js('\\Vert'), Js('\\Vert')])}).get(var.get('context').get('envName'))) - var.put('payload', Js({'hskipBeforeAndAfter':Js(False)})) - var.put('res', var.get('parseArray')(var.get('context').get('parser'), var.get('payload'), var.get('dCellStyle')(var.get('context').get('envName')))) - return (Js({'type':Js('leftright'),'mode':var.get('context').get('mode'),'body':Js([var.get('res')]),'left':var.get('delimiters').get('0'),'right':var.get('delimiters').get('1')}) if var.get('delimiters') else var.get('res')) - PyJs_handler_220_._set_name('handler') - var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('matrix'), Js('pmatrix'), Js('bmatrix'), Js('Bmatrix'), Js('vmatrix'), Js('Vmatrix')]),'props':Js({'numArgs':Js(0.0)}),'handler':PyJs_handler_220_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + PyJs_handler_249_._set_name('handler') + var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('array'), Js('darray')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_249_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + def PyJs_LONG_253_(var=var): + @Js + def PyJs_handler_251_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_251_}, var) + var.registers(['colAlign', 'payload', 'parser', 'context', 'numCols', 'res', 'delimiters']) + var.put('delimiters', Js({'matrix':var.get(u"null"),'pmatrix':Js([Js('('), Js(')')]),'bmatrix':Js([Js('['), Js(']')]),'Bmatrix':Js([Js('\\{'), Js('\\}')]),'vmatrix':Js([Js('|'), Js('|')]),'Vmatrix':Js([Js('\\Vert'), Js('\\Vert')])}).get(var.get('context').get('envName').callprop('replace', Js('*'), Js('')))) + var.put('colAlign', Js('c')) + var.put('payload', Js({'hskipBeforeAndAfter':Js(False),'cols':Js([Js({'type':Js('align'),'align':var.get('colAlign')})])})) + if PyJsStrictEq(var.get('context').get('envName').callprop('charAt', (var.get('context').get('envName').get('length')-Js(1.0))),Js('*')): + var.put('parser', var.get('context').get('parser')) + var.get('parser').callprop('consumeSpaces') + if PyJsStrictEq(var.get('parser').callprop('fetch').get('text'),Js('[')): + var.get('parser').callprop('consume') + var.get('parser').callprop('consumeSpaces') + var.put('colAlign', var.get('parser').callprop('fetch').get('text')) + if PyJsStrictEq(Js('lcr').callprop('indexOf', var.get('colAlign')),(-Js(1.0))): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Expected l or c or r'), var.get('parser').get('nextToken'))) + raise PyJsTempException + var.get('parser').callprop('consume') + var.get('parser').callprop('consumeSpaces') + var.get('parser').callprop('expect', Js(']')) + var.get('parser').callprop('consume') + var.get('payload').put('cols', Js([Js({'type':Js('align'),'align':var.get('colAlign')})])) + var.put('res', var.get('parseArray')(var.get('context').get('parser'), var.get('payload'), var.get('dCellStyle')(var.get('context').get('envName')))) + @Js + def PyJs_anonymous_252_(row, this, arguments, var=var): + var = Scope({'row':row, 'this':this, 'arguments':arguments}, var) + var.registers(['row']) + return var.get('row').get('length') + PyJs_anonymous_252_._set_name('anonymous') + var.put('numCols', var.get('Math').get('max').callprop('apply', var.get('Math'), Js([Js(0.0)]).callprop('concat', var.get('res').get('body').callprop('map', PyJs_anonymous_252_)))) + var.get('res').put('cols', var.get('Array').create(var.get('numCols')).callprop('fill', Js({'type':Js('align'),'align':var.get('colAlign')}))) + return (Js({'type':Js('leftright'),'mode':var.get('context').get('mode'),'body':Js([var.get('res')]),'left':var.get('delimiters').get('0'),'right':var.get('delimiters').get('1'),'rightColor':var.get('undefined')}) if var.get('delimiters') else var.get('res')) + PyJs_handler_251_._set_name('handler') + return var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('matrix'), Js('pmatrix'), Js('bmatrix'), Js('Bmatrix'), Js('vmatrix'), Js('Vmatrix'), Js('matrix*'), Js('pmatrix*'), Js('bmatrix*'), Js('Bmatrix*'), Js('vmatrix*'), Js('Vmatrix*')]),'props':Js({'numArgs':Js(0.0)}),'handler':PyJs_handler_251_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + PyJs_LONG_253_() + @Js + def PyJs_handler_254_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_254_}, var) + var.registers(['context', 'payload', 'res']) + var.put('payload', Js({'arraystretch':Js(0.5)})) + var.put('res', var.get('parseArray')(var.get('context').get('parser'), var.get('payload'), Js('script'))) + var.get('res').put('colSeparationType', Js('small')) + return var.get('res') + PyJs_handler_254_._set_name('handler') + var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('smallmatrix')]),'props':Js({'numArgs':Js(0.0)}),'handler':PyJs_handler_254_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + @Js + def PyJs_handler_255_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_255_}, var) + var.registers(['context', 'symNode', 'cols', 'colalign', 'res', 'args']) + var.put('symNode', var.get('checkSymbolNodeType')(var.get('args').get('0'))) + var.put('colalign', (Js([var.get('args').get('0')]) if var.get('symNode') else var.get('assertNodeType')(var.get('args').get('0'), Js('ordgroup')).get('body'))) + @Js + def PyJs_anonymous_256_(nde, this, arguments, var=var): + var = Scope({'nde':nde, 'this':this, 'arguments':arguments}, var) + var.registers(['nde', 'ca', 'node']) + var.put('node', var.get('assertSymbolNodeType')(var.get('nde'))) + var.put('ca', var.get('node').get('text')) + if PyJsStrictNeq(Js('lc').callprop('indexOf', var.get('ca')),(-Js(1.0))): + return Js({'type':Js('align'),'align':var.get('ca')}) + PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Unknown column alignment: ')+var.get('ca')), var.get('nde'))) + raise PyJsTempException + PyJs_anonymous_256_._set_name('anonymous') + var.put('cols', var.get('colalign').callprop('map', PyJs_anonymous_256_)) + if (var.get('cols').get('length')>Js(1.0)): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('{subarray} can contain only one column'))) + raise PyJsTempException + var.put('res', Js({'cols':var.get('cols'),'hskipBeforeAndAfter':Js(False),'arraystretch':Js(0.5)})) + var.put('res', var.get('parseArray')(var.get('context').get('parser'), var.get('res'), Js('script'))) + if ((var.get('res').get('body').get('length')>Js(0.0)) and (var.get('res').get('body').get('0').get('length')>Js(1.0))): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('{subarray} can contain only one column'))) + raise PyJsTempException + return var.get('res') + PyJs_handler_255_._set_name('handler') + var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('subarray')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_255_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) @Js - def PyJs_handler_221_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_221_}, var) - var.registers(['res', 'context', 'payload']) + def PyJs_handler_257_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_257_}, var) + var.registers(['context', 'payload', 'res']) var.put('payload', Js({'arraystretch':Js(1.2),'cols':Js([Js({'type':Js('align'),'align':Js('l'),'pregap':Js(0.0),'postgap':Js(1.0)}), Js({'type':Js('align'),'align':Js('l'),'pregap':Js(0.0),'postgap':Js(0.0)})])})) var.put('res', var.get('parseArray')(var.get('context').get('parser'), var.get('payload'), var.get('dCellStyle')(var.get('context').get('envName')))) - return Js({'type':Js('leftright'),'mode':var.get('context').get('mode'),'body':Js([var.get('res')]),'left':Js('\\{'),'right':Js('.')}) - PyJs_handler_221_._set_name('handler') - var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('cases'), Js('dcases')]),'props':Js({'numArgs':Js(0.0)}),'handler':PyJs_handler_221_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) - var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('aligned')]),'props':Js({'numArgs':Js(0.0)}),'handler':var.get('array_alignedHandler'),'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) - @Js - def PyJs_handler_222_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_222_}, var) - var.registers(['res', 'context']) - var.put('res', Js({'cols':Js([Js({'type':Js('align'),'align':Js('c')})]),'addJot':Js(True)})) + return Js({'type':Js('leftright'),'mode':var.get('context').get('mode'),'body':Js([var.get('res')]),'left':(Js('.') if (var.get('context').get('envName').callprop('indexOf', Js('r'))>(-Js(1.0))) else Js('\\{')),'right':(Js('\\}') if (var.get('context').get('envName').callprop('indexOf', Js('r'))>(-Js(1.0))) else Js('.')),'rightColor':var.get('undefined')}) + PyJs_handler_257_._set_name('handler') + var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('cases'), Js('dcases'), Js('rcases'), Js('drcases')]),'props':Js({'numArgs':Js(0.0)}),'handler':PyJs_handler_257_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('align'), Js('align*'), Js('aligned'), Js('split')]),'props':Js({'numArgs':Js(0.0)}),'handler':var.get('alignedHandler'),'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + @Js + def PyJs_handler_258_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_258_}, var) + var.registers(['context', 'res']) + if var.get('utils').callprop('contains', Js([Js('gather'), Js('gather*')]), var.get('context').get('envName')): + var.get('validateAmsEnvironmentContext')(var.get('context')) + var.put('res', Js({'cols':Js([Js({'type':Js('align'),'align':Js('c')})]),'addJot':Js(True),'colSeparationType':Js('gather'),'addEqnNum':PyJsStrictEq(var.get('context').get('envName'),Js('gather')),'emptySingleRow':Js(True),'leqno':var.get('context').get('parser').get('settings').get('leqno')})) + return var.get('parseArray')(var.get('context').get('parser'), var.get('res'), Js('display')) + PyJs_handler_258_._set_name('handler') + var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('gathered'), Js('gather'), Js('gather*')]),'props':Js({'numArgs':Js(0.0)}),'handler':PyJs_handler_258_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('alignat'), Js('alignat*'), Js('alignedat')]),'props':Js({'numArgs':Js(1.0)}),'handler':var.get('alignedHandler'),'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + @Js + def PyJs_handler_259_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_259_}, var) + var.registers(['context', 'res']) + var.get('validateAmsEnvironmentContext')(var.get('context')) + var.put('res', Js({'addEqnNum':PyJsStrictEq(var.get('context').get('envName'),Js('equation')),'emptySingleRow':Js(True),'singleRow':Js(True),'maxNumCols':Js(1.0),'leqno':var.get('context').get('parser').get('settings').get('leqno')})) return var.get('parseArray')(var.get('context').get('parser'), var.get('res'), Js('display')) - PyJs_handler_222_._set_name('handler') - var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('gathered')]),'props':Js({'numArgs':Js(0.0)}),'handler':PyJs_handler_222_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) - var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('alignedat')]),'props':Js({'numArgs':Js(1.0)}),'handler':var.get('array_alignedHandler'),'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + PyJs_handler_259_._set_name('handler') + var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('equation'), Js('equation*')]),'props':Js({'numArgs':Js(0.0)}),'handler':PyJs_handler_259_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) + @Js + def PyJs_handler_260_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_260_}, var) + var.registers(['context']) + var.get('validateAmsEnvironmentContext')(var.get('context')) + return var.get('parseCD')(var.get('context').get('parser')) + PyJs_handler_260_._set_name('handler') + var.get('defineEnvironment')(Js({'type':Js('array'),'names':Js([Js('CD')]),'props':Js({'numArgs':Js(0.0)}),'handler':PyJs_handler_260_,'htmlBuilder':var.get('array_htmlBuilder'),'mathmlBuilder':var.get('array_mathmlBuilder')})) @Js - def PyJs_handler_223_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_223_}, var) + def PyJs_handler_261_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_261_}, var) var.registers(['context', 'args']) PyJsTempException = JsToPyException(var.get('src_ParseError').create((var.get('context').get('funcName')+Js(' valid only within array environment')))) raise PyJsTempException - PyJs_handler_223_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('text'),'names':Js([Js('\\hline'), Js('\\hdashline')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True),'allowedInMath':Js(True)}),'handler':PyJs_handler_223_})) + PyJs_handler_261_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('text'),'names':Js([Js('\\hline'), Js('\\hdashline')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True),'allowedInMath':Js(True)}),'handler':PyJs_handler_261_})) + pass var.put('environments', var.get('_environments')) var.put('src_environments', var.get('environments')) + pass @Js - def PyJs_handler_224_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_224_}, var) - var.registers(['funcName', 'i', '_parser$parseArgument', 'nameGroup', 'end', '_args', 'context', 'endNameToken', 'env', 'optArgs', 'envName', '_ref', 'result', 'args', 'parser']) + def PyJs_handler_262_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_262_}, var) + var.registers(['nameGroup', 'env', 'endNameToken', '_ref', '_parser$parseArgument', 'parser', 'args', 'result', '_args', 'i', 'context', 'end', 'funcName', 'envName', 'optArgs']) var.put('parser', var.get('_ref').get('parser')) var.put('funcName', var.get('_ref').get('funcName')) var.put('nameGroup', var.get('args').get('0')) @@ -5106,44 +5861,45 @@ def PyJs_handler_224_(_ref, args, this, arguments, var=var): raise PyJsTempException return var.get('result') return Js({'type':Js('environment'),'mode':var.get('parser').get('mode'),'name':var.get('envName'),'nameGroup':var.get('nameGroup')}) - PyJs_handler_224_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('environment'),'names':Js([Js('\\begin'), Js('\\end')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('text')])}),'handler':PyJs_handler_224_})) + PyJs_handler_262_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('environment'),'names':Js([Js('\\begin'), Js('\\end')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('text')])}),'handler':PyJs_handler_262_})) + pass var.put('mclass_makeSpan', var.get('buildCommon').get('makeSpan')) pass pass @Js - def PyJs_handler_225_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_225_}, var) - var.registers(['funcName', 'body', '_ref', 'args', 'parser']) + def PyJs_handler_263_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_263_}, var) + var.registers(['_ref', 'parser', 'body', 'funcName', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('funcName', var.get('_ref').get('funcName')) var.put('body', var.get('args').get('0')) - return Js({'type':Js('mclass'),'mode':var.get('parser').get('mode'),'mclass':(Js('m')+var.get('funcName').callprop('substr', Js(5.0))),'body':var.get('defineFunction_ordargument')(var.get('body'))}) - PyJs_handler_225_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('mclass'),'names':Js([Js('\\mathord'), Js('\\mathbin'), Js('\\mathrel'), Js('\\mathopen'), Js('\\mathclose'), Js('\\mathpunct'), Js('\\mathinner')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_225_,'htmlBuilder':var.get('mclass_htmlBuilder'),'mathmlBuilder':var.get('mclass_mathmlBuilder')})) + return Js({'type':Js('mclass'),'mode':var.get('parser').get('mode'),'mclass':(Js('m')+var.get('funcName').callprop('substr', Js(5.0))),'body':var.get('ordargument')(var.get('body')),'isCharacterBox':var.get('utils').callprop('isCharacterBox', var.get('body'))}) + PyJs_handler_263_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('mclass'),'names':Js([Js('\\mathord'), Js('\\mathbin'), Js('\\mathrel'), Js('\\mathopen'), Js('\\mathclose'), Js('\\mathpunct'), Js('\\mathinner')]),'props':Js({'numArgs':Js(1.0),'primitive':Js(True)}),'handler':PyJs_handler_263_,'htmlBuilder':var.get('mclass_htmlBuilder'),'mathmlBuilder':var.get('mclass_mathmlBuilder')})) @Js - def PyJs_binrelClass_226_(arg, this, arguments, var=var): - var = Scope({'arg':arg, 'this':this, 'arguments':arguments, 'binrelClass':PyJs_binrelClass_226_}, var) + def PyJs_binrelClass_264_(arg, this, arguments, var=var): + var = Scope({'arg':arg, 'this':this, 'arguments':arguments, 'binrelClass':PyJs_binrelClass_264_}, var) var.registers(['arg', 'atom']) var.put('atom', (var.get('arg').get('body').get('0') if (PyJsStrictEq(var.get('arg').get('type'),Js('ordgroup')) and var.get('arg').get('body').get('length')) else var.get('arg'))) if (PyJsStrictEq(var.get('atom').get('type'),Js('atom')) and (PyJsStrictEq(var.get('atom').get('family'),Js('bin')) or PyJsStrictEq(var.get('atom').get('family'),Js('rel')))): return (Js('m')+var.get('atom').get('family')) else: return Js('mord') - PyJs_binrelClass_226_._set_name('binrelClass') - var.put('binrelClass', PyJs_binrelClass_226_) + PyJs_binrelClass_264_._set_name('binrelClass') + var.put('binrelClass', PyJs_binrelClass_264_) @Js - def PyJs_handler_227_(_ref2, args, this, arguments, var=var): - var = Scope({'_ref2':_ref2, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_227_}, var) - var.registers(['parser', 'args', '_ref2']) + def PyJs_handler_265_(_ref2, args, this, arguments, var=var): + var = Scope({'_ref2':_ref2, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_265_}, var) + var.registers(['_ref2', 'parser', 'args']) var.put('parser', var.get('_ref2').get('parser')) - return Js({'type':Js('mclass'),'mode':var.get('parser').get('mode'),'mclass':var.get('binrelClass')(var.get('args').get('0')),'body':Js([var.get('args').get('1')])}) - PyJs_handler_227_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('mclass'),'names':Js([Js('\\@binrel')]),'props':Js({'numArgs':Js(2.0)}),'handler':PyJs_handler_227_})) + return Js({'type':Js('mclass'),'mode':var.get('parser').get('mode'),'mclass':var.get('binrelClass')(var.get('args').get('0')),'body':var.get('ordargument')(var.get('args').get('1')),'isCharacterBox':var.get('utils').callprop('isCharacterBox', var.get('args').get('1'))}) + PyJs_handler_265_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('mclass'),'names':Js([Js('\\@binrel')]),'props':Js({'numArgs':Js(2.0)}),'handler':PyJs_handler_265_})) @Js - def PyJs_handler_228_(_ref3, args, this, arguments, var=var): - var = Scope({'_ref3':_ref3, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_228_}, var) - var.registers(['shiftedArg', 'funcName', 'baseArg', 'baseOp', '_ref3', 'mclass', 'args', 'parser', 'supsub']) + def PyJs_handler_266_(_ref3, args, this, arguments, var=var): + var = Scope({'_ref3':_ref3, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_266_}, var) + var.registers(['parser', '_ref3', 'args', 'baseArg', 'baseOp', 'supsub', 'mclass', 'funcName', 'shiftedArg']) var.put('parser', var.get('_ref3').get('parser')) var.put('funcName', var.get('_ref3').get('funcName')) var.put('baseArg', var.get('args').get('1')) @@ -5153,58 +5909,60 @@ def PyJs_handler_228_(_ref3, args, this, arguments, var=var): var.put('mclass', var.get('binrelClass')(var.get('baseArg'))) else: var.put('mclass', Js('mrel')) - var.put('baseOp', Js({'type':Js('ordgroup'),'mode':var.get('baseArg').get('mode'),'limits':Js(True),'alwaysHandleSupSub':Js(True),'parentIsSupSub':Js(False),'symbol':Js(False),'suppressBaseShift':PyJsStrictNeq(var.get('funcName'),Js('\\stackrel')),'body':var.get('defineFunction_ordargument')(var.get('baseArg'))})) - var.put('supsub', Js({'type':Js('supsub'),'mode':var.get('shiftedArg').get('mode'),'base':var.get('baseOp'),'text':var.get('funcName'),'sup':(var.get(u"null") if PyJsStrictEq(var.get('funcName'),Js('\\underset')) else var.get('shiftedArg')),'sub':(var.get('shiftedArg') if PyJsStrictEq(var.get('funcName'),Js('\\underset')) else var.get(u"null"))})) - return Js({'type':Js('mclass'),'mode':var.get('parser').get('mode'),'mclass':var.get('mclass'),'body':Js([var.get('supsub')])}) - PyJs_handler_228_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('mclass'),'names':Js([Js('\\stackrel'), Js('\\overset'), Js('\\underset')]),'props':Js({'numArgs':Js(2.0)}),'handler':PyJs_handler_228_,'htmlBuilder':var.get('mclass_htmlBuilder'),'mathmlBuilder':var.get('mclass_mathmlBuilder')})) - @Js - def PyJs_htmlBuilder_229_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_229_}, var) - var.registers(['font', 'group', 'options', 'newOptions']) + var.put('baseOp', Js({'type':Js('op'),'mode':var.get('baseArg').get('mode'),'limits':Js(True),'alwaysHandleSupSub':Js(True),'parentIsSupSub':Js(False),'symbol':Js(False),'suppressBaseShift':PyJsStrictNeq(var.get('funcName'),Js('\\stackrel')),'body':var.get('ordargument')(var.get('baseArg'))})) + var.put('supsub', Js({'type':Js('supsub'),'mode':var.get('shiftedArg').get('mode'),'base':var.get('baseOp'),'sup':(var.get(u"null") if PyJsStrictEq(var.get('funcName'),Js('\\underset')) else var.get('shiftedArg')),'sub':(var.get('shiftedArg') if PyJsStrictEq(var.get('funcName'),Js('\\underset')) else var.get(u"null"))})) + return Js({'type':Js('mclass'),'mode':var.get('parser').get('mode'),'mclass':var.get('mclass'),'body':Js([var.get('supsub')]),'isCharacterBox':var.get('utils').callprop('isCharacterBox', var.get('supsub'))}) + PyJs_handler_266_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('mclass'),'names':Js([Js('\\stackrel'), Js('\\overset'), Js('\\underset')]),'props':Js({'numArgs':Js(2.0)}),'handler':PyJs_handler_266_,'htmlBuilder':var.get('mclass_htmlBuilder'),'mathmlBuilder':var.get('mclass_mathmlBuilder')})) + pass + @Js + def PyJs_htmlBuilder_267_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_267_}, var) + var.registers(['font', 'group', 'newOptions', 'options']) var.put('font', var.get('group').get('font')) var.put('newOptions', var.get('options').callprop('withFont', var.get('font'))) - return var.get('buildHTML_buildGroup')(var.get('group').get('body'), var.get('newOptions')) - PyJs_htmlBuilder_229_._set_name('htmlBuilder') - var.put('font_htmlBuilder', PyJs_htmlBuilder_229_) + return var.get('buildGroup')(var.get('group').get('body'), var.get('newOptions')) + PyJs_htmlBuilder_267_._set_name('htmlBuilder') + var.put('font_htmlBuilder', PyJs_htmlBuilder_267_) @Js - def PyJs_mathmlBuilder_230_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_230_}, var) - var.registers(['font', 'group', 'options', 'newOptions']) + def PyJs_mathmlBuilder_268_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_268_}, var) + var.registers(['font', 'group', 'newOptions', 'options']) var.put('font', var.get('group').get('font')) var.put('newOptions', var.get('options').callprop('withFont', var.get('font'))) return var.get('buildMathML_buildGroup')(var.get('group').get('body'), var.get('newOptions')) - PyJs_mathmlBuilder_230_._set_name('mathmlBuilder') - var.put('font_mathmlBuilder', PyJs_mathmlBuilder_230_) + PyJs_mathmlBuilder_268_._set_name('mathmlBuilder') + var.put('font_mathmlBuilder', PyJs_mathmlBuilder_268_) var.put('fontAliases', Js({'\\Bbb':Js('\\mathbb'),'\\bold':Js('\\mathbf'),'\\frak':Js('\\mathfrak'),'\\bm':Js('\\boldsymbol')})) - def PyJs_LONG_232_(var=var): + def PyJs_LONG_270_(var=var): @Js - def PyJs_handler_231_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_231_}, var) - var.registers(['funcName', 'func', 'body', '_ref', 'args', 'parser']) + def PyJs_handler_269_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_269_}, var) + var.registers(['_ref', 'parser', 'body', 'func', 'funcName', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('funcName', var.get('_ref').get('funcName')) - var.put('body', var.get('args').get('0')) + var.put('body', var.get('normalizeArgument')(var.get('args').get('0'))) var.put('func', var.get('funcName')) if var.get('fontAliases').contains(var.get('func')): var.put('func', var.get('fontAliases').get(var.get('func'))) return Js({'type':Js('font'),'mode':var.get('parser').get('mode'),'font':var.get('func').callprop('slice', Js(1.0)),'body':var.get('body')}) - PyJs_handler_231_._set_name('handler') - return var.get('defineFunction')(Js({'type':Js('font'),'names':Js([Js('\\mathrm'), Js('\\mathit'), Js('\\mathbf'), Js('\\mathnormal'), Js('\\mathbb'), Js('\\mathcal'), Js('\\mathfrak'), Js('\\mathscr'), Js('\\mathsf'), Js('\\mathtt'), Js('\\Bbb'), Js('\\bold'), Js('\\frak')]),'props':Js({'numArgs':Js(1.0),'greediness':Js(2.0)}),'handler':PyJs_handler_231_,'htmlBuilder':var.get('font_htmlBuilder'),'mathmlBuilder':var.get('font_mathmlBuilder')})) - PyJs_LONG_232_() + PyJs_handler_269_._set_name('handler') + return var.get('defineFunction')(Js({'type':Js('font'),'names':Js([Js('\\mathrm'), Js('\\mathit'), Js('\\mathbf'), Js('\\mathnormal'), Js('\\mathbb'), Js('\\mathcal'), Js('\\mathfrak'), Js('\\mathscr'), Js('\\mathsf'), Js('\\mathtt'), Js('\\Bbb'), Js('\\bold'), Js('\\frak')]),'props':Js({'numArgs':Js(1.0),'allowedInArgument':Js(True)}),'handler':PyJs_handler_269_,'htmlBuilder':var.get('font_htmlBuilder'),'mathmlBuilder':var.get('font_mathmlBuilder')})) + PyJs_LONG_270_() @Js - def PyJs_handler_233_(_ref2, args, this, arguments, var=var): - var = Scope({'_ref2':_ref2, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_233_}, var) - var.registers(['body', 'parser', 'args', '_ref2']) + def PyJs_handler_271_(_ref2, args, this, arguments, var=var): + var = Scope({'_ref2':_ref2, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_271_}, var) + var.registers(['isCharacterBox', 'parser', 'body', '_ref2', 'args']) var.put('parser', var.get('_ref2').get('parser')) var.put('body', var.get('args').get('0')) - return Js({'type':Js('mclass'),'mode':var.get('parser').get('mode'),'mclass':var.get('binrelClass')(var.get('body')),'body':Js([Js({'type':Js('font'),'mode':var.get('parser').get('mode'),'font':Js('boldsymbol'),'body':var.get('body')})])}) - PyJs_handler_233_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('mclass'),'names':Js([Js('\\boldsymbol'), Js('\\bm')]),'props':Js({'numArgs':Js(1.0),'greediness':Js(2.0)}),'handler':PyJs_handler_233_})) - @Js - def PyJs_handler_234_(_ref3, args, this, arguments, var=var): - var = Scope({'_ref3':_ref3, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_234_}, var) - var.registers(['funcName', 'breakOnTokenText', 'mode', 'body', 'style', '_ref3', 'args', 'parser']) + var.put('isCharacterBox', var.get('utils').callprop('isCharacterBox', var.get('body'))) + return Js({'type':Js('mclass'),'mode':var.get('parser').get('mode'),'mclass':var.get('binrelClass')(var.get('body')),'body':Js([Js({'type':Js('font'),'mode':var.get('parser').get('mode'),'font':Js('boldsymbol'),'body':var.get('body')})]),'isCharacterBox':var.get('isCharacterBox')}) + PyJs_handler_271_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('mclass'),'names':Js([Js('\\boldsymbol'), Js('\\bm')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_271_})) + @Js + def PyJs_handler_272_(_ref3, args, this, arguments, var=var): + var = Scope({'_ref3':_ref3, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_272_}, var) + var.registers(['funcName', 'mode', 'body', 'parser', '_ref3', 'breakOnTokenText', 'style', 'args']) var.put('parser', var.get('_ref3').get('parser')) var.put('funcName', var.get('_ref3').get('funcName')) var.put('breakOnTokenText', var.get('_ref3').get('breakOnTokenText')) @@ -5212,11 +5970,12 @@ def PyJs_handler_234_(_ref3, args, this, arguments, var=var): var.put('body', var.get('parser').callprop('parseExpression', Js(True), var.get('breakOnTokenText'))) var.put('style', (Js('math')+var.get('funcName').callprop('slice', Js(1.0)))) return Js({'type':Js('font'),'mode':var.get('mode'),'font':var.get('style'),'body':Js({'type':Js('ordgroup'),'mode':var.get('parser').get('mode'),'body':var.get('body')})}) - PyJs_handler_234_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('font'),'names':Js([Js('\\rm'), Js('\\sf'), Js('\\tt'), Js('\\bf'), Js('\\it')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True)}),'handler':PyJs_handler_234_,'htmlBuilder':var.get('font_htmlBuilder'),'mathmlBuilder':var.get('font_mathmlBuilder')})) + PyJs_handler_272_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('font'),'names':Js([Js('\\rm'), Js('\\sf'), Js('\\tt'), Js('\\bf'), Js('\\it'), Js('\\cal')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True)}),'handler':PyJs_handler_272_,'htmlBuilder':var.get('font_htmlBuilder'),'mathmlBuilder':var.get('font_mathmlBuilder')})) + pass @Js - def PyJs_adjustStyle_235_(size, originalStyle, this, arguments, var=var): - var = Scope({'size':size, 'originalStyle':originalStyle, 'this':this, 'arguments':arguments, 'adjustStyle':PyJs_adjustStyle_235_}, var) + def PyJs_adjustStyle_273_(size, originalStyle, this, arguments, var=var): + var = Scope({'size':size, 'originalStyle':originalStyle, 'this':this, 'arguments':arguments, 'adjustStyle':PyJs_adjustStyle_273_}, var) var.registers(['style', 'size', 'originalStyle']) var.put('style', var.get('originalStyle')) if PyJsStrictEq(var.get('size'),Js('display')): @@ -5231,31 +5990,31 @@ def PyJs_adjustStyle_235_(size, originalStyle, this, arguments, var=var): if PyJsStrictEq(var.get('size'),Js('scriptscript')): var.put('style', var.get('src_Style').get('SCRIPTSCRIPT')) return var.get('style') - PyJs_adjustStyle_235_._set_name('adjustStyle') - var.put('genfrac_adjustStyle', PyJs_adjustStyle_235_) + PyJs_adjustStyle_273_._set_name('adjustStyle') + var.put('adjustStyle', PyJs_adjustStyle_273_) @Js - def PyJs_htmlBuilder_236_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_236_}, var) - var.registers(['nstyle', 'midShift', 'candidateClearance', 'rule', 'leftDelim', 'hStrut', 'frac', 'newOptions', 'options', 'denomShift', 'ruleSpacing', 'denomm', 'dstyle', 'axisHeight', 'numShift', 'clearance', 'rightDelim', 'delimSize', 'numerm', 'ruleWidth', 'group', 'dStrut', 'style']) - var.put('style', var.get('genfrac_adjustStyle')(var.get('group').get('size'), var.get('options').get('style'))) + def PyJs_htmlBuilder_274_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_274_}, var) + var.registers(['rule', 'midShift', 'numShift', 'ruleSpacing', 'clearance', 'delimSize', 'dStrut', 'rightDelim', 'hStrut', 'dstyle', 'nstyle', 'style', 'options', 'leftDelim', 'denomm', 'candidateClearance', 'ruleWidth', 'newOptions', 'group', 'denomShift', 'frac', 'axisHeight', 'numerm']) + var.put('style', var.get('adjustStyle')(var.get('group').get('size'), var.get('options').get('style'))) var.put('nstyle', var.get('style').callprop('fracNum')) var.put('dstyle', var.get('style').callprop('fracDen')) pass var.put('newOptions', var.get('options').callprop('havingStyle', var.get('nstyle'))) - var.put('numerm', var.get('buildHTML_buildGroup')(var.get('group').get('numer'), var.get('newOptions'), var.get('options'))) + var.put('numerm', var.get('buildGroup')(var.get('group').get('numer'), var.get('newOptions'), var.get('options'))) if var.get('group').get('continued'): var.put('hStrut', (Js(8.5)/var.get('options').callprop('fontMetrics').get('ptPerEm'))) var.put('dStrut', (Js(3.5)/var.get('options').callprop('fontMetrics').get('ptPerEm'))) var.get('numerm').put('height', (var.get('hStrut') if (var.get('numerm').get('height')Js(0.0)): var.put('delim', var.get('delimString')) var.put('delim', (var.get(u"null") if PyJsStrictEq(var.get('delim'),Js('.')) else var.get('delim'))) return var.get('delim') - PyJs_delimFromValue_241_._set_name('delimFromValue') - var.put('delimFromValue', PyJs_delimFromValue_241_) + PyJs_delimFromValue_280_._set_name('delimFromValue') + var.put('delimFromValue', PyJs_delimFromValue_280_) @Js - def PyJs_handler_242_(_ref3, args, this, arguments, var=var): - var = Scope({'_ref3':_ref3, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_242_}, var) - var.registers(['numer', 'size', 'leftNode', 'rightNode', 'styl', 'barNode', 'hasBarLine', 'leftDelim', 'denom', '_ref3', 'rightDelim', 'barSize', 'textOrd', 'parser', 'args']) - var.put('parser', var.get('_ref3').get('parser')) + def PyJs_handler_281_(_ref4, args, this, arguments, var=var): + var = Scope({'_ref4':_ref4, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_281_}, var) + var.registers(['leftDelim', 'rightDelim', 'denom', 'rightNode', 'parser', '_ref4', 'barNode', 'hasBarLine', 'barSize', 'styl', 'numer', 'size', 'textOrd', 'leftNode', 'args']) + var.put('parser', var.get('_ref4').get('parser')) var.put('numer', var.get('args').get('4')) var.put('denom', var.get('args').get('5')) - var.put('leftNode', var.get('checkNodeType')(var.get('args').get('0'), Js('atom'))) - if var.get('leftNode'): - var.put('leftNode', var.get('assertAtomFamily')(var.get('args').get('0'), Js('open'))) - var.put('leftDelim', (var.get('delimFromValue')(var.get('leftNode').get('text')) if var.get('leftNode') else var.get(u"null"))) - var.put('rightNode', var.get('checkNodeType')(var.get('args').get('1'), Js('atom'))) - if var.get('rightNode'): - var.put('rightNode', var.get('assertAtomFamily')(var.get('args').get('1'), Js('close'))) - var.put('rightDelim', (var.get('delimFromValue')(var.get('rightNode').get('text')) if var.get('rightNode') else var.get(u"null"))) + var.put('leftNode', var.get('normalizeArgument')(var.get('args').get('0'))) + var.put('leftDelim', (var.get('delimFromValue')(var.get('leftNode').get('text')) if (PyJsStrictEq(var.get('leftNode').get('type'),Js('atom')) and PyJsStrictEq(var.get('leftNode').get('family'),Js('open'))) else var.get(u"null"))) + var.put('rightNode', var.get('normalizeArgument')(var.get('args').get('1'))) + var.put('rightDelim', (var.get('delimFromValue')(var.get('rightNode').get('text')) if (PyJsStrictEq(var.get('rightNode').get('type'),Js('atom')) and PyJsStrictEq(var.get('rightNode').get('family'),Js('close'))) else var.get(u"null"))) var.put('barNode', var.get('assertNodeType')(var.get('args').get('2'), Js('size'))) pass var.put('barSize', var.get(u"null")) @@ -5519,54 +6282,54 @@ def PyJs_handler_242_(_ref3, args, this, arguments, var=var): var.put('barSize', var.get('barNode').get('value')) var.put('hasBarLine', (var.get('barSize').get('number')>Js(0.0))) var.put('size', Js('auto')) - var.put('styl', var.get('checkNodeType')(var.get('args').get('3'), Js('ordgroup'))) - if var.get('styl'): + var.put('styl', var.get('args').get('3')) + if PyJsStrictEq(var.get('styl').get('type'),Js('ordgroup')): if (var.get('styl').get('body').get('length')>Js(0.0)): var.put('textOrd', var.get('assertNodeType')(var.get('styl').get('body').get('0'), Js('textord'))) var.put('size', var.get('stylArray').get(var.get('Number')(var.get('textOrd').get('text')))) else: - var.put('styl', var.get('assertNodeType')(var.get('args').get('3'), Js('textord'))) + var.put('styl', var.get('assertNodeType')(var.get('styl'), Js('textord'))) var.put('size', var.get('stylArray').get(var.get('Number')(var.get('styl').get('text')))) return Js({'type':Js('genfrac'),'mode':var.get('parser').get('mode'),'numer':var.get('numer'),'denom':var.get('denom'),'continued':Js(False),'hasBarLine':var.get('hasBarLine'),'barSize':var.get('barSize'),'leftDelim':var.get('leftDelim'),'rightDelim':var.get('rightDelim'),'size':var.get('size')}) - PyJs_handler_242_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('genfrac'),'names':Js([Js('\\genfrac')]),'props':Js({'numArgs':Js(6.0),'greediness':Js(6.0),'argTypes':Js([Js('math'), Js('math'), Js('size'), Js('text'), Js('math'), Js('math')])}),'handler':PyJs_handler_242_,'htmlBuilder':var.get('genfrac_htmlBuilder'),'mathmlBuilder':var.get('genfrac_mathmlBuilder')})) - @Js - def PyJs_handler_243_(_ref4, args, this, arguments, var=var): - var = Scope({'_ref4':_ref4, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_243_}, var) - var.registers(['funcName', '_ref4', 'args', 'token', 'parser']) - var.put('parser', var.get('_ref4').get('parser')) - var.put('funcName', var.get('_ref4').get('funcName')) - var.put('token', var.get('_ref4').get('token')) - return Js({'type':Js('infix'),'mode':var.get('parser').get('mode'),'replaceWith':Js('\\\\abovefrac'),'size':var.get('assertNodeType')(var.get('args').get('0'), Js('size')).get('value'),'token':var.get('token')}) - PyJs_handler_243_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('infix'),'names':Js([Js('\\above')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('size')]),'infix':Js(True)}),'handler':PyJs_handler_243_})) + PyJs_handler_281_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('genfrac'),'names':Js([Js('\\genfrac')]),'props':Js({'numArgs':Js(6.0),'allowedInArgument':Js(True),'argTypes':Js([Js('math'), Js('math'), Js('size'), Js('text'), Js('math'), Js('math')])}),'handler':PyJs_handler_281_,'htmlBuilder':var.get('genfrac_htmlBuilder'),'mathmlBuilder':var.get('genfrac_mathmlBuilder')})) @Js - def PyJs_handler_244_(_ref5, args, this, arguments, var=var): - var = Scope({'_ref5':_ref5, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_244_}, var) - var.registers(['funcName', 'numer', 'hasBarLine', 'denom', 'barSize', '_ref5', 'args', 'parser']) + def PyJs_handler_282_(_ref5, args, this, arguments, var=var): + var = Scope({'_ref5':_ref5, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_282_}, var) + var.registers(['token', '_ref5', 'parser', 'funcName', 'args']) var.put('parser', var.get('_ref5').get('parser')) var.put('funcName', var.get('_ref5').get('funcName')) + var.put('token', var.get('_ref5').get('token')) + return Js({'type':Js('infix'),'mode':var.get('parser').get('mode'),'replaceWith':Js('\\\\abovefrac'),'size':var.get('assertNodeType')(var.get('args').get('0'), Js('size')).get('value'),'token':var.get('token')}) + PyJs_handler_282_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('infix'),'names':Js([Js('\\above')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('size')]),'infix':Js(True)}),'handler':PyJs_handler_282_})) + @Js + def PyJs_handler_283_(_ref6, args, this, arguments, var=var): + var = Scope({'_ref6':_ref6, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_283_}, var) + var.registers(['denom', 'parser', 'hasBarLine', 'barSize', 'numer', 'funcName', '_ref6', 'args']) + var.put('parser', var.get('_ref6').get('parser')) + var.put('funcName', var.get('_ref6').get('funcName')) var.put('numer', var.get('args').get('0')) var.put('barSize', var.get('assert')(var.get('assertNodeType')(var.get('args').get('1'), Js('infix')).get('size'))) var.put('denom', var.get('args').get('2')) var.put('hasBarLine', (var.get('barSize').get('number')>Js(0.0))) return Js({'type':Js('genfrac'),'mode':var.get('parser').get('mode'),'numer':var.get('numer'),'denom':var.get('denom'),'continued':Js(False),'hasBarLine':var.get('hasBarLine'),'barSize':var.get('barSize'),'leftDelim':var.get(u"null"),'rightDelim':var.get(u"null"),'size':Js('auto')}) - PyJs_handler_244_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('genfrac'),'names':Js([Js('\\\\abovefrac')]),'props':Js({'numArgs':Js(3.0),'argTypes':Js([Js('math'), Js('size'), Js('math')])}),'handler':PyJs_handler_244_,'htmlBuilder':var.get('genfrac_htmlBuilder'),'mathmlBuilder':var.get('genfrac_mathmlBuilder')})) + PyJs_handler_283_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('genfrac'),'names':Js([Js('\\\\abovefrac')]),'props':Js({'numArgs':Js(3.0),'argTypes':Js([Js('math'), Js('size'), Js('math')])}),'handler':PyJs_handler_283_,'htmlBuilder':var.get('genfrac_htmlBuilder'),'mathmlBuilder':var.get('genfrac_mathmlBuilder')})) + pass @Js - def PyJs_htmlBuilder_245_(grp, options, this, arguments, var=var): - var = Scope({'grp':grp, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_245_}, var) - var.registers(['grp', 'braceBody', 'group', 'body', 'supSubGroup', 'options', 'vSpan', 'style', 'vlist', 'supSub']) + def PyJs_htmlBuilder_284_(grp, options, this, arguments, var=var): + var = Scope({'grp':grp, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_284_}, var) + var.registers(['vlist', 'vSpan', 'grp', 'braceBody', 'group', 'body', 'supSubGroup', 'style', 'options']) var.put('style', var.get('options').get('style')) pass pass - var.put('supSub', var.get('checkNodeType')(var.get('grp'), Js('supsub'))) - if var.get('supSub'): - var.put('supSubGroup', (var.get('buildHTML_buildGroup')(var.get('supSub').get('sup'), var.get('options').callprop('havingStyle', var.get('style').callprop('sup')), var.get('options')) if var.get('supSub').get('sup') else var.get('buildHTML_buildGroup')(var.get('supSub').get('sub'), var.get('options').callprop('havingStyle', var.get('style').callprop('sub')), var.get('options')))) - var.put('group', var.get('assertNodeType')(var.get('supSub').get('base'), Js('horizBrace'))) + if PyJsStrictEq(var.get('grp').get('type'),Js('supsub')): + var.put('supSubGroup', (var.get('buildGroup')(var.get('grp').get('sup'), var.get('options').callprop('havingStyle', var.get('style').callprop('sup')), var.get('options')) if var.get('grp').get('sup') else var.get('buildGroup')(var.get('grp').get('sub'), var.get('options').callprop('havingStyle', var.get('style').callprop('sub')), var.get('options')))) + var.put('group', var.get('assertNodeType')(var.get('grp').get('base'), Js('horizBrace'))) else: var.put('group', var.get('assertNodeType')(var.get('grp'), Js('horizBrace'))) - var.put('body', var.get('buildHTML_buildGroup')(var.get('group').get('base'), var.get('options').callprop('havingBaseStyle', var.get('src_Style').get('DISPLAY')))) + var.put('body', var.get('buildGroup')(var.get('group').get('base'), var.get('options').callprop('havingBaseStyle', var.get('src_Style').get('DISPLAY')))) var.put('braceBody', var.get('stretchy').callprop('svgSpan', var.get('group'), var.get('options'))) pass if var.get('group').get('isOver'): @@ -5580,62 +6343,67 @@ def PyJs_htmlBuilder_245_(grp, options, this, arguments, var=var): if var.get('group').get('isOver'): var.put('vlist', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('firstBaseline'),'children':Js([Js({'type':Js('elem'),'elem':var.get('vSpan')}), Js({'type':Js('kern'),'size':Js(0.2)}), Js({'type':Js('elem'),'elem':var.get('supSubGroup')})])}), var.get('options'))) else: - def PyJs_LONG_246_(var=var): + def PyJs_LONG_285_(var=var): return var.put('vlist', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('bottom'),'positionData':(((var.get('vSpan').get('depth')+Js(0.2))+var.get('supSubGroup').get('height'))+var.get('supSubGroup').get('depth')),'children':Js([Js({'type':Js('elem'),'elem':var.get('supSubGroup')}), Js({'type':Js('kern'),'size':Js(0.2)}), Js({'type':Js('elem'),'elem':var.get('vSpan')})])}), var.get('options'))) - PyJs_LONG_246_() + PyJs_LONG_285_() return var.get('buildCommon').callprop('makeSpan', Js([Js('mord'), (Js('mover') if var.get('group').get('isOver') else Js('munder'))]), Js([var.get('vlist')]), var.get('options')) - PyJs_htmlBuilder_245_._set_name('htmlBuilder') - var.put('horizBrace_htmlBuilder', PyJs_htmlBuilder_245_) + PyJs_htmlBuilder_284_._set_name('htmlBuilder') + var.put('horizBrace_htmlBuilder', PyJs_htmlBuilder_284_) @Js - def PyJs_mathmlBuilder_247_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_247_}, var) - var.registers(['group', 'options', 'accentNode']) + def PyJs_mathmlBuilder_286_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_286_}, var) + var.registers(['group', 'accentNode', 'options']) var.put('accentNode', var.get('stretchy').callprop('mathMLnode', var.get('group').get('label'))) return var.get('mathMLTree').get('MathNode').create((Js('mover') if var.get('group').get('isOver') else Js('munder')), Js([var.get('buildMathML_buildGroup')(var.get('group').get('base'), var.get('options')), var.get('accentNode')])) - PyJs_mathmlBuilder_247_._set_name('mathmlBuilder') - var.put('horizBrace_mathmlBuilder', PyJs_mathmlBuilder_247_) + PyJs_mathmlBuilder_286_._set_name('mathmlBuilder') + var.put('horizBrace_mathmlBuilder', PyJs_mathmlBuilder_286_) @Js - def PyJs_handler_248_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_248_}, var) - var.registers(['parser', 'funcName', '_ref', 'args']) - var.put('parser', var.get('_ref').get('parser')) + def PyJs_handler_287_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_287_}, var) + var.registers(['args', '_ref', 'parser', 'funcName']) + var.put('parser', var.get('_ref').get('parser')) var.put('funcName', var.get('_ref').get('funcName')) return Js({'type':Js('horizBrace'),'mode':var.get('parser').get('mode'),'label':var.get('funcName'),'isOver':JsRegExp('/^\\\\over/').callprop('test', var.get('funcName')),'base':var.get('args').get('0')}) - PyJs_handler_248_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('horizBrace'),'names':Js([Js('\\overbrace'), Js('\\underbrace')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_248_,'htmlBuilder':var.get('horizBrace_htmlBuilder'),'mathmlBuilder':var.get('horizBrace_mathmlBuilder')})) + PyJs_handler_287_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('horizBrace'),'names':Js([Js('\\overbrace'), Js('\\underbrace')]),'props':Js({'numArgs':Js(1.0)}),'handler':PyJs_handler_287_,'htmlBuilder':var.get('horizBrace_htmlBuilder'),'mathmlBuilder':var.get('horizBrace_mathmlBuilder')})) + pass @Js - def PyJs_handler_249_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_249_}, var) - var.registers(['body', '_ref', 'args', 'parser', 'href']) + def PyJs_handler_288_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_288_}, var) + var.registers(['_ref', 'parser', 'body', 'href', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('body', var.get('args').get('1')) var.put('href', var.get('assertNodeType')(var.get('args').get('0'), Js('url')).get('url')) - return Js({'type':Js('href'),'mode':var.get('parser').get('mode'),'href':var.get('href'),'body':var.get('defineFunction_ordargument')(var.get('body'))}) - PyJs_handler_249_._set_name('handler') + if var.get('parser').get('settings').callprop('isTrusted', Js({'command':Js('\\href'),'url':var.get('href')})).neg(): + return var.get('parser').callprop('formatUnsupportedCmd', Js('\\href')) + return Js({'type':Js('href'),'mode':var.get('parser').get('mode'),'href':var.get('href'),'body':var.get('ordargument')(var.get('body'))}) + PyJs_handler_288_._set_name('handler') @Js - def PyJs_htmlBuilder_250_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_250_}, var) + def PyJs_htmlBuilder_289_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_289_}, var) var.registers(['group', 'options', 'elements']) - var.put('elements', var.get('buildHTML_buildExpression')(var.get('group').get('body'), var.get('options'), Js(False))) + var.put('elements', var.get('buildExpression')(var.get('group').get('body'), var.get('options'), Js(False))) return var.get('buildCommon').callprop('makeAnchor', var.get('group').get('href'), Js([]), var.get('elements'), var.get('options')) - PyJs_htmlBuilder_250_._set_name('htmlBuilder') + PyJs_htmlBuilder_289_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_251_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_251_}, var) - var.registers(['group', 'options', 'math']) + def PyJs_mathmlBuilder_290_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_290_}, var) + var.registers(['group', 'math', 'options']) var.put('math', var.get('buildExpressionRow')(var.get('group').get('body'), var.get('options'))) - if var.get('math').instanceof(var.get('mathMLTree_MathNode')).neg(): - var.put('math', var.get('mathMLTree_MathNode').create(Js('mrow'), Js([var.get('math')]))) + if var.get('math').instanceof(var.get('MathNode')).neg(): + var.put('math', var.get('MathNode').create(Js('mrow'), Js([var.get('math')]))) var.get('math').callprop('setAttribute', Js('href'), var.get('group').get('href')) return var.get('math') - PyJs_mathmlBuilder_251_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('href'),'names':Js([Js('\\href')]),'props':Js({'numArgs':Js(2.0),'argTypes':Js([Js('url'), Js('original')]),'allowedInText':Js(True)}),'handler':PyJs_handler_249_,'htmlBuilder':PyJs_htmlBuilder_250_,'mathmlBuilder':PyJs_mathmlBuilder_251_})) + PyJs_mathmlBuilder_290_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('href'),'names':Js([Js('\\href')]),'props':Js({'numArgs':Js(2.0),'argTypes':Js([Js('url'), Js('original')]),'allowedInText':Js(True)}),'handler':PyJs_handler_288_,'htmlBuilder':PyJs_htmlBuilder_289_,'mathmlBuilder':PyJs_mathmlBuilder_290_})) @Js - def PyJs_handler_252_(_ref2, args, this, arguments, var=var): - var = Scope({'_ref2':_ref2, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_252_}, var) - var.registers(['c', 'i', 'body', 'chars', 'args', 'parser', 'href', '_ref2']) + def PyJs_handler_291_(_ref2, args, this, arguments, var=var): + var = Scope({'_ref2':_ref2, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_291_}, var) + var.registers(['c', 'chars', 'parser', 'body', 'href', 'i', '_ref2', 'args']) var.put('parser', var.get('_ref2').get('parser')) var.put('href', var.get('assertNodeType')(var.get('args').get('0'), Js('url')).get('url')) + if var.get('parser').get('settings').callprop('isTrusted', Js({'command':Js('\\url'),'url':var.get('href')})).neg(): + return var.get('parser').callprop('formatUnsupportedCmd', Js('\\url')) var.put('chars', Js([])) #for JS loop var.put('i', Js(0.0)) @@ -5648,34 +6416,254 @@ def PyJs_handler_252_(_ref2, args, this, arguments, var=var): finally: (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) var.put('body', Js({'type':Js('text'),'mode':var.get('parser').get('mode'),'font':Js('\\texttt'),'body':var.get('chars')})) - return Js({'type':Js('href'),'mode':var.get('parser').get('mode'),'href':var.get('href'),'body':var.get('defineFunction_ordargument')(var.get('body'))}) - PyJs_handler_252_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('href'),'names':Js([Js('\\url')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('url')]),'allowedInText':Js(True)}),'handler':PyJs_handler_252_})) + return Js({'type':Js('href'),'mode':var.get('parser').get('mode'),'href':var.get('href'),'body':var.get('ordargument')(var.get('body'))}) + PyJs_handler_291_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('href'),'names':Js([Js('\\url')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('url')]),'allowedInText':Js(True)}),'handler':PyJs_handler_291_})) + pass + @Js + def PyJs_handler_292_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_292_}, var) + var.registers(['_ref', 'parser', 'args']) + var.put('parser', var.get('_ref').get('parser')) + return Js({'type':Js('hbox'),'mode':var.get('parser').get('mode'),'body':var.get('ordargument')(var.get('args').get('0'))}) + PyJs_handler_292_._set_name('handler') + @Js + def PyJs_htmlBuilder_293_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_293_}, var) + var.registers(['group', 'options', 'elements']) + var.put('elements', var.get('buildExpression')(var.get('group').get('body'), var.get('options'), Js(False))) + return var.get('buildCommon').callprop('makeFragment', var.get('elements')) + PyJs_htmlBuilder_293_._set_name('htmlBuilder') + @Js + def PyJs_mathmlBuilder_294_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_294_}, var) + var.registers(['group', 'options']) + return var.get('mathMLTree').get('MathNode').create(Js('mrow'), var.get('buildMathML_buildExpression')(var.get('group').get('body'), var.get('options'))) + PyJs_mathmlBuilder_294_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('hbox'),'names':Js([Js('\\hbox')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('text')]),'allowedInText':Js(True),'primitive':Js(True)}),'handler':PyJs_handler_292_,'htmlBuilder':PyJs_htmlBuilder_293_,'mathmlBuilder':PyJs_mathmlBuilder_294_})) + pass + @Js + def PyJs_handler_295_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_295_}, var) + var.registers(['token', 'trustContext', '_ref', 'attributes', 'keyVal', 'data', 'parser', 'body', 'value', 'i', 'funcName', 'args']) + var.put('parser', var.get('_ref').get('parser')) + var.put('funcName', var.get('_ref').get('funcName')) + var.put('token', var.get('_ref').get('token')) + var.put('value', var.get('assertNodeType')(var.get('args').get('0'), Js('raw')).get('string')) + var.put('body', var.get('args').get('1')) + if var.get('parser').get('settings').get('strict'): + var.get('parser').get('settings').callprop('reportNonstrict', Js('htmlExtension'), Js('HTML extension is disabled on strict mode')) + pass + var.put('attributes', Js({})) + while 1: + SWITCHED = False + CONDITION = (var.get('funcName')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('\\htmlClass')): + SWITCHED = True + var.get('attributes').put('class', var.get('value')) + var.put('trustContext', Js({'command':Js('\\htmlClass'),'class':var.get('value')})) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('\\htmlId')): + SWITCHED = True + var.get('attributes').put('id', var.get('value')) + var.put('trustContext', Js({'command':Js('\\htmlId'),'id':var.get('value')})) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('\\htmlStyle')): + SWITCHED = True + var.get('attributes').put('style', var.get('value')) + var.put('trustContext', Js({'command':Js('\\htmlStyle'),'style':var.get('value')})) + break + if SWITCHED or PyJsStrictEq(CONDITION, Js('\\htmlData')): + SWITCHED = True + var.put('data', var.get('value').callprop('split', Js(','))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + var.put('depth', (var.get('calculateSize')(var.get('group').get('totalheight'), var.get('options'))-var.get('height'))) + var.put('depth', var.get('Number')(var.get('depth').callprop('toFixed', Js(2.0)))) + var.put('width', Js(0.0)) + if (var.get('group').get('width').get('number')>Js(0.0)): + var.put('width', var.get('calculateSize')(var.get('group').get('width'), var.get('options'))) + var.put('style', Js({'height':((var.get('height')+var.get('depth'))+Js('em'))})) + if (var.get('width')>Js(0.0)): + var.get('style').put('width', (var.get('width')+Js('em'))) + if (var.get('depth')>Js(0.0)): + var.get('style').put('verticalAlign', ((-var.get('depth'))+Js('em'))) + var.put('node', var.get('Img').create(var.get('group').get('src'), var.get('group').get('alt'), var.get('style'))) + var.get('node').put('height', var.get('height')) + var.get('node').put('depth', var.get('depth')) + return var.get('node') + PyJs_htmlBuilder_303_._set_name('htmlBuilder') + @Js + def PyJs_mathmlBuilder_304_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_304_}, var) + var.registers(['depth', 'group', 'width', 'node', 'height', 'options']) + var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mglyph'), Js([]))) + var.get('node').callprop('setAttribute', Js('alt'), var.get('group').get('alt')) + var.put('height', var.get('calculateSize')(var.get('group').get('height'), var.get('options'))) + var.put('depth', Js(0.0)) + if (var.get('group').get('totalheight').get('number')>Js(0.0)): + var.put('depth', (var.get('calculateSize')(var.get('group').get('totalheight'), var.get('options'))-var.get('height'))) + var.put('depth', var.get('depth').callprop('toFixed', Js(2.0))) + var.get('node').callprop('setAttribute', Js('valign'), ((Js('-')+var.get('depth'))+Js('em'))) + var.get('node').callprop('setAttribute', Js('height'), ((var.get('height')+var.get('depth'))+Js('em'))) + if (var.get('group').get('width').get('number')>Js(0.0)): + var.put('width', var.get('calculateSize')(var.get('group').get('width'), var.get('options'))) + var.get('node').callprop('setAttribute', Js('width'), (var.get('width')+Js('em'))) + var.get('node').callprop('setAttribute', Js('src'), var.get('group').get('src')) + return var.get('node') + PyJs_mathmlBuilder_304_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('includegraphics'),'names':Js([Js('\\includegraphics')]),'props':Js({'numArgs':Js(1.0),'numOptionalArgs':Js(1.0),'argTypes':Js([Js('raw'), Js('url')]),'allowedInText':Js(False)}),'handler':PyJs_handler_302_,'htmlBuilder':PyJs_htmlBuilder_303_,'mathmlBuilder':PyJs_mathmlBuilder_304_})) + pass @Js - def PyJs_handler_256_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_256_}, var) - var.registers(['funcName', 'mathFunction', 'size', 'muUnit', '_ref', 'args', 'parser']) + def PyJs_handler_305_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_305_}, var) + var.registers(['_ref', 'muUnit', 'parser', 'funcName', 'size', 'mathFunction', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('funcName', var.get('_ref').get('funcName')) var.put('size', var.get('assertNodeType')(var.get('args').get('0'), Js('size'))) @@ -5691,88 +6679,90 @@ def PyJs_handler_256_(_ref, args, this, arguments, var=var): if var.get('muUnit'): var.get('parser').get('settings').callprop('reportNonstrict', Js('mathVsTextUnits'), ((Js("LaTeX's ")+var.get('funcName'))+Js(" doesn't support mu units"))) return Js({'type':Js('kern'),'mode':var.get('parser').get('mode'),'dimension':var.get('size').get('value')}) - PyJs_handler_256_._set_name('handler') + PyJs_handler_305_._set_name('handler') @Js - def PyJs_htmlBuilder_257_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_257_}, var) + def PyJs_htmlBuilder_306_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_306_}, var) var.registers(['group', 'options']) return var.get('buildCommon').callprop('makeGlue', var.get('group').get('dimension'), var.get('options')) - PyJs_htmlBuilder_257_._set_name('htmlBuilder') + PyJs_htmlBuilder_306_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_258_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_258_}, var) - var.registers(['group', 'options', 'dimension']) - var.put('dimension', var.get('units_calculateSize')(var.get('group').get('dimension'), var.get('options'))) + def PyJs_mathmlBuilder_307_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_307_}, var) + var.registers(['group', 'dimension', 'options']) + var.put('dimension', var.get('calculateSize')(var.get('group').get('dimension'), var.get('options'))) return var.get('mathMLTree').get('SpaceNode').create(var.get('dimension')) - PyJs_mathmlBuilder_258_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('kern'),'names':Js([Js('\\kern'), Js('\\mkern'), Js('\\hskip'), Js('\\mskip')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('size')]),'allowedInText':Js(True)}),'handler':PyJs_handler_256_,'htmlBuilder':PyJs_htmlBuilder_257_,'mathmlBuilder':PyJs_mathmlBuilder_258_})) + PyJs_mathmlBuilder_307_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('kern'),'names':Js([Js('\\kern'), Js('\\mkern'), Js('\\hskip'), Js('\\mskip')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('size')]),'primitive':Js(True),'allowedInText':Js(True)}),'handler':PyJs_handler_305_,'htmlBuilder':PyJs_htmlBuilder_306_,'mathmlBuilder':PyJs_mathmlBuilder_307_})) + pass @Js - def PyJs_handler_259_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_259_}, var) - var.registers(['funcName', 'body', '_ref', 'args', 'parser']) + def PyJs_handler_308_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_308_}, var) + var.registers(['_ref', 'parser', 'body', 'funcName', 'args']) var.put('parser', var.get('_ref').get('parser')) var.put('funcName', var.get('_ref').get('funcName')) var.put('body', var.get('args').get('0')) return Js({'type':Js('lap'),'mode':var.get('parser').get('mode'),'alignment':var.get('funcName').callprop('slice', Js(5.0)),'body':var.get('body')}) - PyJs_handler_259_._set_name('handler') + PyJs_handler_308_._set_name('handler') @Js - def PyJs_htmlBuilder_260_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_260_}, var) - var.registers(['group', 'options', 'node', 'inner', 'fix', 'strut']) + def PyJs_htmlBuilder_309_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_309_}, var) + var.registers(['group', 'inner', 'fix', 'node', 'strut', 'options']) pass if PyJsStrictEq(var.get('group').get('alignment'),Js('clap')): - var.put('inner', var.get('buildCommon').callprop('makeSpan', Js([]), Js([var.get('buildHTML_buildGroup')(var.get('group').get('body'), var.get('options'))]))) + var.put('inner', var.get('buildCommon').callprop('makeSpan', Js([]), Js([var.get('buildGroup')(var.get('group').get('body'), var.get('options'))]))) var.put('inner', var.get('buildCommon').callprop('makeSpan', Js([Js('inner')]), Js([var.get('inner')]), var.get('options'))) else: - var.put('inner', var.get('buildCommon').callprop('makeSpan', Js([Js('inner')]), Js([var.get('buildHTML_buildGroup')(var.get('group').get('body'), var.get('options'))]))) + var.put('inner', var.get('buildCommon').callprop('makeSpan', Js([Js('inner')]), Js([var.get('buildGroup')(var.get('group').get('body'), var.get('options'))]))) var.put('fix', var.get('buildCommon').callprop('makeSpan', Js([Js('fix')]), Js([]))) var.put('node', var.get('buildCommon').callprop('makeSpan', Js([var.get('group').get('alignment')]), Js([var.get('inner'), var.get('fix')]), var.get('options'))) var.put('strut', var.get('buildCommon').callprop('makeSpan', Js([Js('strut')]))) var.get('strut').get('style').put('height', ((var.get('node').get('height')+var.get('node').get('depth'))+Js('em'))) var.get('strut').get('style').put('verticalAlign', ((-var.get('node').get('depth'))+Js('em'))) var.get('node').get('children').callprop('unshift', var.get('strut')) - var.put('node', var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('firstBaseline'),'children':Js([Js({'type':Js('elem'),'elem':var.get('node')})])}), var.get('options'))) - return var.get('buildCommon').callprop('makeSpan', Js([Js('mord')]), Js([var.get('node')]), var.get('options')) - PyJs_htmlBuilder_260_._set_name('htmlBuilder') + var.put('node', var.get('buildCommon').callprop('makeSpan', Js([Js('thinbox')]), Js([var.get('node')]), var.get('options'))) + return var.get('buildCommon').callprop('makeSpan', Js([Js('mord'), Js('vbox')]), Js([var.get('node')]), var.get('options')) + PyJs_htmlBuilder_309_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_261_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_261_}, var) - var.registers(['node', 'group', 'options', 'offset']) + def PyJs_mathmlBuilder_310_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_310_}, var) + var.registers(['group', 'options', 'offset', 'node']) var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mpadded'), Js([var.get('buildMathML_buildGroup')(var.get('group').get('body'), var.get('options'))]))) if PyJsStrictNeq(var.get('group').get('alignment'),Js('rlap')): var.put('offset', (Js('-1') if PyJsStrictEq(var.get('group').get('alignment'),Js('llap')) else Js('-0.5'))) var.get('node').callprop('setAttribute', Js('lspace'), (var.get('offset')+Js('width'))) var.get('node').callprop('setAttribute', Js('width'), Js('0px')) return var.get('node') - PyJs_mathmlBuilder_261_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('lap'),'names':Js([Js('\\mathllap'), Js('\\mathrlap'), Js('\\mathclap')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True)}),'handler':PyJs_handler_259_,'htmlBuilder':PyJs_htmlBuilder_260_,'mathmlBuilder':PyJs_mathmlBuilder_261_})) + PyJs_mathmlBuilder_310_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('lap'),'names':Js([Js('\\mathllap'), Js('\\mathrlap'), Js('\\mathclap')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True)}),'handler':PyJs_handler_308_,'htmlBuilder':PyJs_htmlBuilder_309_,'mathmlBuilder':PyJs_mathmlBuilder_310_})) + pass @Js - def PyJs_handler_262_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_262_}, var) - var.registers(['funcName', 'body', 'outerMode', '_ref', 'args', 'parser', 'close']) + def PyJs_handler_311_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_311_}, var) + var.registers(['_ref', 'close', 'parser', 'body', 'funcName', 'outerMode', 'args']) var.put('funcName', var.get('_ref').get('funcName')) var.put('parser', var.get('_ref').get('parser')) var.put('outerMode', var.get('parser').get('mode')) var.get('parser').callprop('switchMode', Js('math')) var.put('close', (Js('\\)') if PyJsStrictEq(var.get('funcName'),Js('\\(')) else Js('$'))) var.put('body', var.get('parser').callprop('parseExpression', Js(False), var.get('close'))) - var.get('parser').callprop('expect', var.get('close'), Js(False)) + var.get('parser').callprop('expect', var.get('close')) var.get('parser').callprop('switchMode', var.get('outerMode')) - var.get('parser').callprop('consume') return Js({'type':Js('styling'),'mode':var.get('parser').get('mode'),'style':Js('text'),'body':var.get('body')}) - PyJs_handler_262_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('styling'),'names':Js([Js('\\('), Js('$')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True),'allowedInMath':Js(False),'consumeMode':Js('math')}),'handler':PyJs_handler_262_})) + PyJs_handler_311_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('styling'),'names':Js([Js('\\('), Js('$')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True),'allowedInMath':Js(False)}),'handler':PyJs_handler_311_})) @Js - def PyJs_handler_263_(context, args, this, arguments, var=var): - var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_263_}, var) + def PyJs_handler_312_(context, args, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_312_}, var) var.registers(['context', 'args']) PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Mismatched ')+var.get('context').get('funcName')))) raise PyJsTempException - PyJs_handler_263_._set_name('handler') - var.get('defineFunction')(Js({'type':Js('text'),'names':Js([Js('\\)'), Js('\\]')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True),'allowedInMath':Js(False)}),'handler':PyJs_handler_263_})) + PyJs_handler_312_._set_name('handler') + var.get('defineFunction')(Js({'type':Js('text'),'names':Js([Js('\\)'), Js('\\]')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True),'allowedInMath':Js(False)}),'handler':PyJs_handler_312_})) + pass @Js - def PyJs_chooseMathStyle_264_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'chooseMathStyle':PyJs_chooseMathStyle_264_}, var) + def PyJs_chooseMathStyle_313_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'chooseMathStyle':PyJs_chooseMathStyle_313_}, var) var.registers(['group', 'options']) while 1: SWITCHED = False @@ -5794,45 +6784,88 @@ def PyJs_chooseMathStyle_264_(group, options, this, arguments, var=var): return var.get('group').get('text') SWITCHED = True break - PyJs_chooseMathStyle_264_._set_name('chooseMathStyle') - var.put('mathchoice_chooseMathStyle', PyJs_chooseMathStyle_264_) + PyJs_chooseMathStyle_313_._set_name('chooseMathStyle') + var.put('chooseMathStyle', PyJs_chooseMathStyle_313_) @Js - def PyJs_handler_265_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_265_}, var) - var.registers(['parser', '_ref', 'args']) + def PyJs_handler_314_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_314_}, var) + var.registers(['_ref', 'parser', 'args']) var.put('parser', var.get('_ref').get('parser')) - return Js({'type':Js('mathchoice'),'mode':var.get('parser').get('mode'),'display':var.get('defineFunction_ordargument')(var.get('args').get('0')),'text':var.get('defineFunction_ordargument')(var.get('args').get('1')),'script':var.get('defineFunction_ordargument')(var.get('args').get('2')),'scriptscript':var.get('defineFunction_ordargument')(var.get('args').get('3'))}) - PyJs_handler_265_._set_name('handler') + return Js({'type':Js('mathchoice'),'mode':var.get('parser').get('mode'),'display':var.get('ordargument')(var.get('args').get('0')),'text':var.get('ordargument')(var.get('args').get('1')),'script':var.get('ordargument')(var.get('args').get('2')),'scriptscript':var.get('ordargument')(var.get('args').get('3'))}) + PyJs_handler_314_._set_name('handler') @Js - def PyJs_htmlBuilder_266_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_266_}, var) - var.registers(['body', 'group', 'options', 'elements']) - var.put('body', var.get('mathchoice_chooseMathStyle')(var.get('group'), var.get('options'))) - var.put('elements', var.get('buildHTML_buildExpression')(var.get('body'), var.get('options'), Js(False))) + def PyJs_htmlBuilder_315_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_315_}, var) + var.registers(['elements', 'group', 'options', 'body']) + var.put('body', var.get('chooseMathStyle')(var.get('group'), var.get('options'))) + var.put('elements', var.get('buildExpression')(var.get('body'), var.get('options'), Js(False))) return var.get('buildCommon').callprop('makeFragment', var.get('elements')) - PyJs_htmlBuilder_266_._set_name('htmlBuilder') + PyJs_htmlBuilder_315_._set_name('htmlBuilder') @Js - def PyJs_mathmlBuilder_267_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_267_}, var) - var.registers(['body', 'group', 'options']) - var.put('body', var.get('mathchoice_chooseMathStyle')(var.get('group'), var.get('options'))) + def PyJs_mathmlBuilder_316_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_316_}, var) + var.registers(['group', 'options', 'body']) + var.put('body', var.get('chooseMathStyle')(var.get('group'), var.get('options'))) return var.get('buildExpressionRow')(var.get('body'), var.get('options')) - PyJs_mathmlBuilder_267_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('mathchoice'),'names':Js([Js('\\mathchoice')]),'props':Js({'numArgs':Js(4.0)}),'handler':PyJs_handler_265_,'htmlBuilder':PyJs_htmlBuilder_266_,'mathmlBuilder':PyJs_mathmlBuilder_267_})) + PyJs_mathmlBuilder_316_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('mathchoice'),'names':Js([Js('\\mathchoice')]),'props':Js({'numArgs':Js(4.0),'primitive':Js(True)}),'handler':PyJs_handler_314_,'htmlBuilder':PyJs_htmlBuilder_315_,'mathmlBuilder':PyJs_mathmlBuilder_316_})) + pass + @Js + def PyJs_assembleSupSub_317_(base, supGroup, subGroup, options, style, slant, baseShift, this, arguments, var=var): + var = Scope({'base':base, 'supGroup':supGroup, 'subGroup':subGroup, 'options':options, 'style':style, 'slant':slant, 'baseShift':baseShift, 'this':this, 'arguments':arguments, 'assembleSupSub':PyJs_assembleSupSub_317_}, var) + var.registers(['base', 'slant', 'supGroup', '_bottom', 'subGroup', 'elem', 'subIsSingleCharacter', 'sup', 'parts', 'spacer', 'sub', 'baseShift', 'bottom', 'finalGroup', 'style', '_elem', 'top', 'options']) + var.put('base', var.get('buildCommon').callprop('makeSpan', Js([]), Js([var.get('base')]))) + var.put('subIsSingleCharacter', (var.get('subGroup') and var.get('utils').callprop('isCharacterBox', var.get('subGroup')))) + pass + pass + if var.get('supGroup'): + var.put('elem', var.get('buildGroup')(var.get('supGroup'), var.get('options').callprop('havingStyle', var.get('style').callprop('sup')), var.get('options'))) + var.put('sup', Js({'elem':var.get('elem'),'kern':var.get('Math').callprop('max', var.get('options').callprop('fontMetrics').get('bigOpSpacing1'), (var.get('options').callprop('fontMetrics').get('bigOpSpacing3')-var.get('elem').get('depth')))})) + if var.get('subGroup'): + var.put('_elem', var.get('buildGroup')(var.get('subGroup'), var.get('options').callprop('havingStyle', var.get('style').callprop('sub')), var.get('options'))) + var.put('sub', Js({'elem':var.get('_elem'),'kern':var.get('Math').callprop('max', var.get('options').callprop('fontMetrics').get('bigOpSpacing2'), (var.get('options').callprop('fontMetrics').get('bigOpSpacing4')-var.get('_elem').get('height')))})) + pass + if (var.get('sup') and var.get('sub')): + var.put('bottom', (((((var.get('options').callprop('fontMetrics').get('bigOpSpacing5')+var.get('sub').get('elem').get('height'))+var.get('sub').get('elem').get('depth'))+var.get('sub').get('kern'))+var.get('base').get('depth'))+var.get('baseShift'))) + def PyJs_LONG_318_(var=var): + return var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('bottom'),'positionData':var.get('bottom'),'children':Js([Js({'type':Js('kern'),'size':var.get('options').callprop('fontMetrics').get('bigOpSpacing5')}), Js({'type':Js('elem'),'elem':var.get('sub').get('elem'),'marginLeft':((-var.get('slant'))+Js('em'))}), Js({'type':Js('kern'),'size':var.get('sub').get('kern')}), Js({'type':Js('elem'),'elem':var.get('base')}), Js({'type':Js('kern'),'size':var.get('sup').get('kern')}), Js({'type':Js('elem'),'elem':var.get('sup').get('elem'),'marginLeft':(var.get('slant')+Js('em'))}), Js({'type':Js('kern'),'size':var.get('options').callprop('fontMetrics').get('bigOpSpacing5')})])}), var.get('options')) + var.put('finalGroup', PyJs_LONG_318_()) + else: + if var.get('sub'): + var.put('top', (var.get('base').get('height')-var.get('baseShift'))) + def PyJs_LONG_319_(var=var): + return var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('top'),'positionData':var.get('top'),'children':Js([Js({'type':Js('kern'),'size':var.get('options').callprop('fontMetrics').get('bigOpSpacing5')}), Js({'type':Js('elem'),'elem':var.get('sub').get('elem'),'marginLeft':((-var.get('slant'))+Js('em'))}), Js({'type':Js('kern'),'size':var.get('sub').get('kern')}), Js({'type':Js('elem'),'elem':var.get('base')})])}), var.get('options')) + var.put('finalGroup', PyJs_LONG_319_()) + else: + if var.get('sup'): + var.put('_bottom', (var.get('base').get('depth')+var.get('baseShift'))) + def PyJs_LONG_320_(var=var): + return var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('bottom'),'positionData':var.get('_bottom'),'children':Js([Js({'type':Js('elem'),'elem':var.get('base')}), Js({'type':Js('kern'),'size':var.get('sup').get('kern')}), Js({'type':Js('elem'),'elem':var.get('sup').get('elem'),'marginLeft':(var.get('slant')+Js('em'))}), Js({'type':Js('kern'),'size':var.get('options').callprop('fontMetrics').get('bigOpSpacing5')})])}), var.get('options')) + var.put('finalGroup', PyJs_LONG_320_()) + else: + return var.get('base') + var.put('parts', Js([var.get('finalGroup')])) + if ((var.get('sub') and PyJsStrictNeq(var.get('slant'),Js(0.0))) and var.get('subIsSingleCharacter').neg()): + var.put('spacer', var.get('buildCommon').callprop('makeSpan', Js([Js('mspace')]), Js([]), var.get('options'))) + var.get('spacer').get('style').put('marginRight', (var.get('slant')+Js('em'))) + var.get('parts').callprop('unshift', var.get('spacer')) + return var.get('buildCommon').callprop('makeSpan', Js([Js('mop'), Js('op-limits')]), var.get('parts'), var.get('options')) + PyJs_assembleSupSub_317_._set_name('assembleSupSub') + var.put('assembleSupSub', PyJs_assembleSupSub_317_) + pass var.put('noSuccessor', Js([Js('\\smallint')])) @Js - def PyJs_htmlBuilder_268_(grp, options, this, arguments, var=var): - var = Scope({'grp':grp, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_268_}, var) - var.registers(['elem', 'oval', 'sub', 'baseShift', 'sup', 'inner', 'stash', 'subGroup', 'i', 'options', 'top', '_elem', 'base', '_bottom', 'large', 'output', 'finalGroup', 'italic', 'bottom', 'grp', 'fontName', 'supGroup', 'group', 'slant', 'hasLimits', 'style', 'supSub']) + def PyJs_htmlBuilder_321_(grp, options, this, arguments, var=var): + var = Scope({'grp':grp, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_321_}, var) + var.registers(['stash', 'grp', 'base', 'output', 'slant', 'supGroup', 'group', 'subGroup', 'italic', 'inner', 'large', 'hasLimits', 'i', 'oval', 'style', 'fontName', 'baseShift', 'options']) pass pass var.put('hasLimits', Js(False)) pass - var.put('supSub', var.get('checkNodeType')(var.get('grp'), Js('supsub'))) - if var.get('supSub'): - var.put('supGroup', var.get('supSub').get('sup')) - var.put('subGroup', var.get('supSub').get('sub')) - var.put('group', var.get('assertNodeType')(var.get('supSub').get('base'), Js('op'))) + if PyJsStrictEq(var.get('grp').get('type'),Js('supsub')): + var.put('supGroup', var.get('grp').get('sup')) + var.put('subGroup', var.get('grp').get('sub')) + var.put('group', var.get('assertNodeType')(var.get('grp').get('base'), Js('op'))) var.put('hasLimits', Js(True)) else: var.put('group', var.get('assertNodeType')(var.get('grp'), Js('op'))) @@ -5857,457 +6890,999 @@ def PyJs_htmlBuilder_268_(grp, options, this, arguments, var=var): var.get('base').put('italic', var.get('italic')) else: if var.get('group').get('body'): - var.put('inner', var.get('buildHTML_buildExpression')(var.get('group').get('body'), var.get('options'), Js(True))) - if (PyJsStrictEq(var.get('inner').get('length'),Js(1.0)) and var.get('inner').get('0').instanceof(var.get('domTree_SymbolNode'))): + var.put('inner', var.get('buildExpression')(var.get('group').get('body'), var.get('options'), Js(True))) + if (PyJsStrictEq(var.get('inner').get('length'),Js(1.0)) and var.get('inner').get('0').instanceof(var.get('SymbolNode'))): var.put('base', var.get('inner').get('0')) var.get('base').get('classes').put('0', Js('mop')) else: - var.put('base', var.get('buildCommon').callprop('makeSpan', Js([Js('mop')]), var.get('buildCommon').callprop('tryCombineChars', var.get('inner')), var.get('options'))) + var.put('base', var.get('buildCommon').callprop('makeSpan', Js([Js('mop')]), var.get('inner'), var.get('options'))) else: var.put('output', Js([])) #for JS loop var.put('i', Js(1.0)) while (var.get('i')Js(0.0)): - @Js - def PyJs_anonymous_282_(child, this, arguments, var=var): - var = Scope({'child':child, 'this':this, 'arguments':arguments}, var) - var.registers(['child', 'childText']) - var.put('childText', var.get('child').get('text')) - if PyJsStrictEq(var.get('childText',throw=False).typeof(),Js('string')): - return Js({'type':Js('textord'),'mode':var.get('child').get('mode'),'text':var.get('childText')}) - else: - return var.get('child') - PyJs_anonymous_282_._set_name('anonymous') - var.put('body', var.get('group').get('body').callprop('map', PyJs_anonymous_282_)) - var.put('expression', var.get('buildHTML_buildExpression')(var.get('body'), var.get('options').callprop('withFont', Js('mathrm')), Js(True))) - #for JS loop - var.put('i', Js(0.0)) - while (var.get('i')=var.get('base'))): + PyJsTempException = JsToPyException(var.get('src_ParseError').create((((Js('Invalid base-')+var.get('base'))+Js(' digit '))+var.get('token').get('text')))) + raise PyJsTempException + pass + while ((var.put('digit', var.get('digitToNumber').get(var.get('context').callprop('future').get('text')))!=var.get(u"null")) and (var.get('digit')':Js('\\dotsb'),'-':Js('\\dotsb'),'*':Js('\\dotsb'),':':Js('\\dotsb'),'\\DOTSB':Js('\\dotsb'),'\\coprod':Js('\\dotsb'),'\\bigvee':Js('\\dotsb'),'\\bigwedge':Js('\\dotsb'),'\\biguplus':Js('\\dotsb'),'\\bigcap':Js('\\dotsb'),'\\bigcup':Js('\\dotsb'),'\\prod':Js('\\dotsb'),'\\sum':Js('\\dotsb'),'\\bigotimes':Js('\\dotsb'),'\\bigoplus':Js('\\dotsb'),'\\bigodot':Js('\\dotsb'),'\\bigsqcup':Js('\\dotsb'),'\\And':Js('\\dotsb'),'\\longrightarrow':Js('\\dotsb'),'\\Longrightarrow':Js('\\dotsb'),'\\longleftarrow':Js('\\dotsb'),'\\Longleftarrow':Js('\\dotsb'),'\\longleftrightarrow':Js('\\dotsb'),'\\Longleftrightarrow':Js('\\dotsb'),'\\mapsto':Js('\\dotsb'),'\\longmapsto':Js('\\dotsb'),'\\hookrightarrow':Js('\\dotsb'),'\\doteq':Js('\\dotsb'),'\\mathbin':Js('\\dotsb'),'\\mathrel':Js('\\dotsb'),'\\relbar':Js('\\dotsb'),'\\Relbar':Js('\\dotsb'),'\\xrightarrow':Js('\\dotsb'),'\\xleftarrow':Js('\\dotsb'),'\\DOTSI':Js('\\dotsi'),'\\int':Js('\\dotsi'),'\\oint':Js('\\dotsi'),'\\iint':Js('\\dotsi'),'\\iiint':Js('\\dotsi'),'\\iiiint':Js('\\dotsi'),'\\idotsint':Js('\\dotsi'),'\\DOTSX':Js('\\dotsx')})) @Js - def PyJs_mathmlBuilder_295_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_295_}, var) - var.registers(['group', 'options', 'node', 'inner', 'phantom']) - var.put('inner', var.get('buildMathML_buildExpression')(var.get('defineFunction_ordargument')(var.get('group').get('body')), var.get('options'))) - var.put('phantom', var.get('mathMLTree').get('MathNode').create(Js('mphantom'), var.get('inner'))) - var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mpadded'), Js([var.get('phantom')]))) - var.get('node').callprop('setAttribute', Js('height'), Js('0px')) - var.get('node').callprop('setAttribute', Js('depth'), Js('0px')) - return var.get('node') - PyJs_mathmlBuilder_295_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('hphantom'),'names':Js([Js('\\hphantom')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True)}),'handler':PyJs_handler_293_,'htmlBuilder':PyJs_htmlBuilder_294_,'mathmlBuilder':PyJs_mathmlBuilder_295_})) + def PyJs_anonymous_346_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) + var.registers(['next', 'context', 'thedots']) + var.put('thedots', Js('\\dotso')) + var.put('next', var.get('context').callprop('expandAfterFuture').get('text')) + if var.get('dotsByToken').contains(var.get('next')): + var.put('thedots', var.get('dotsByToken').get(var.get('next'))) + else: + if PyJsStrictEq(var.get('next').callprop('substr', Js(0.0), Js(4.0)),Js('\\not')): + var.put('thedots', Js('\\dotsb')) + else: + if var.get('src_symbols').get('math').contains(var.get('next')): + if var.get('utils').callprop('contains', Js([Js('bin'), Js('rel')]), var.get('src_symbols').get('math').get(var.get('next')).get('group')): + var.put('thedots', Js('\\dotsb')) + return var.get('thedots') + PyJs_anonymous_346_._set_name('anonymous') + var.get('defineMacro')(Js('\\dots'), PyJs_anonymous_346_) + var.put('spaceAfterDots', Js({')':Js(True),']':Js(True),'\\rbrack':Js(True),'\\}':Js(True),'\\rbrace':Js(True),'\\rangle':Js(True),'\\rceil':Js(True),'\\rfloor':Js(True),'\\rgroup':Js(True),'\\rmoustache':Js(True),'\\right':Js(True),'\\bigr':Js(True),'\\biggr':Js(True),'\\Bigr':Js(True),'\\Biggr':Js(True),'$':Js(True),';':Js(True),'.':Js(True),',':Js(True)})) @Js - def PyJs_handler_296_(_ref3, args, this, arguments, var=var): - var = Scope({'_ref3':_ref3, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_296_}, var) - var.registers(['body', 'parser', '_ref3', 'args']) - var.put('parser', var.get('_ref3').get('parser')) - var.put('body', var.get('args').get('0')) - return Js({'type':Js('vphantom'),'mode':var.get('parser').get('mode'),'body':var.get('body')}) - PyJs_handler_296_._set_name('handler') + def PyJs_anonymous_347_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) + var.registers(['next', 'context']) + var.put('next', var.get('context').callprop('future').get('text')) + if var.get('spaceAfterDots').contains(var.get('next')): + return Js('\\ldots\\,') + else: + return Js('\\ldots') + PyJs_anonymous_347_._set_name('anonymous') + var.get('defineMacro')(Js('\\dotso'), PyJs_anonymous_347_) @Js - def PyJs_htmlBuilder_297_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_297_}, var) - var.registers(['group', 'inner', 'fix', 'options']) - var.put('inner', var.get('buildCommon').callprop('makeSpan', Js([Js('inner')]), Js([var.get('buildHTML_buildGroup')(var.get('group').get('body'), var.get('options').callprop('withPhantom'))]))) - var.put('fix', var.get('buildCommon').callprop('makeSpan', Js([Js('fix')]), Js([]))) - return var.get('buildCommon').callprop('makeSpan', Js([Js('mord'), Js('rlap')]), Js([var.get('inner'), var.get('fix')]), var.get('options')) - PyJs_htmlBuilder_297_._set_name('htmlBuilder') + def PyJs_anonymous_348_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) + var.registers(['next', 'context']) + var.put('next', var.get('context').callprop('future').get('text')) + if (var.get('spaceAfterDots').contains(var.get('next')) and PyJsStrictNeq(var.get('next'),Js(','))): + return Js('\\ldots\\,') + else: + return Js('\\ldots') + PyJs_anonymous_348_._set_name('anonymous') + var.get('defineMacro')(Js('\\dotsc'), PyJs_anonymous_348_) @Js - def PyJs_mathmlBuilder_298_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_298_}, var) - var.registers(['group', 'options', 'node', 'inner', 'phantom']) - var.put('inner', var.get('buildMathML_buildExpression')(var.get('defineFunction_ordargument')(var.get('group').get('body')), var.get('options'))) - var.put('phantom', var.get('mathMLTree').get('MathNode').create(Js('mphantom'), var.get('inner'))) - var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mpadded'), Js([var.get('phantom')]))) - var.get('node').callprop('setAttribute', Js('width'), Js('0px')) - return var.get('node') - PyJs_mathmlBuilder_298_._set_name('mathmlBuilder') - var.get('defineFunction')(Js({'type':Js('vphantom'),'names':Js([Js('\\vphantom')]),'props':Js({'numArgs':Js(1.0),'allowedInText':Js(True)}),'handler':PyJs_handler_296_,'htmlBuilder':PyJs_htmlBuilder_297_,'mathmlBuilder':PyJs_mathmlBuilder_298_})) - pass - var.put('sizeFuncs', Js([Js('\\tiny'), Js('\\sixptsize'), Js('\\scriptsize'), Js('\\footnotesize'), Js('\\small'), Js('\\normalsize'), Js('\\large'), Js('\\Large'), Js('\\LARGE'), Js('\\huge'), Js('\\Huge')])) + def PyJs_anonymous_349_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) + var.registers(['next', 'context']) + var.put('next', var.get('context').callprop('future').get('text')) + if var.get('spaceAfterDots').contains(var.get('next')): + return Js('\\@cdots\\,') + else: + return Js('\\@cdots') + PyJs_anonymous_349_._set_name('anonymous') + var.get('defineMacro')(Js('\\cdots'), PyJs_anonymous_349_) + var.get('defineMacro')(Js('\\dotsb'), Js('\\cdots')) + var.get('defineMacro')(Js('\\dotsm'), Js('\\cdots')) + var.get('defineMacro')(Js('\\dotsi'), Js('\\!\\cdots')) + var.get('defineMacro')(Js('\\dotsx'), Js('\\ldots\\,')) + var.get('defineMacro')(Js('\\DOTSI'), Js('\\relax')) + var.get('defineMacro')(Js('\\DOTSB'), Js('\\relax')) + var.get('defineMacro')(Js('\\DOTSX'), Js('\\relax')) + var.get('defineMacro')(Js('\\tmspace'), Js('\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax')) + var.get('defineMacro')(Js('\\,'), Js('\\tmspace+{3mu}{.1667em}')) + var.get('defineMacro')(Js('\\thinspace'), Js('\\,')) + var.get('defineMacro')(Js('\\>'), Js('\\mskip{4mu}')) + var.get('defineMacro')(Js('\\:'), Js('\\tmspace+{4mu}{.2222em}')) + var.get('defineMacro')(Js('\\medspace'), Js('\\:')) + var.get('defineMacro')(Js('\\;'), Js('\\tmspace+{5mu}{.2777em}')) + var.get('defineMacro')(Js('\\thickspace'), Js('\\;')) + var.get('defineMacro')(Js('\\!'), Js('\\tmspace-{3mu}{.1667em}')) + var.get('defineMacro')(Js('\\negthinspace'), Js('\\!')) + var.get('defineMacro')(Js('\\negmedspace'), Js('\\tmspace-{4mu}{.2222em}')) + var.get('defineMacro')(Js('\\negthickspace'), Js('\\tmspace-{5mu}{.277em}')) + var.get('defineMacro')(Js('\\enspace'), Js('\\kern.5em ')) + var.get('defineMacro')(Js('\\enskip'), Js('\\hskip.5em\\relax')) + var.get('defineMacro')(Js('\\quad'), Js('\\hskip1em\\relax')) + var.get('defineMacro')(Js('\\qquad'), Js('\\hskip2em\\relax')) + var.get('defineMacro')(Js('\\tag'), Js('\\@ifstar\\tag@literal\\tag@paren')) + var.get('defineMacro')(Js('\\tag@paren'), Js('\\tag@literal{({#1})}')) @Js - def PyJs_htmlBuilder_299_(group, options, this, arguments, var=var): - var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_299_}, var) - var.registers(['newOptions', 'group', 'options']) - var.put('newOptions', var.get('options').callprop('havingSize', var.get('group').get('size'))) - return var.get('sizingGroup')(var.get('group').get('body'), var.get('newOptions'), var.get('options')) - PyJs_htmlBuilder_299_._set_name('htmlBuilder') - var.put('sizing_htmlBuilder', PyJs_htmlBuilder_299_) + def PyJs_anonymous_350_(context, this, arguments, var=var): + var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) + var.registers(['context']) + if var.get('context').get('macros').callprop('get', Js('\\df@tag')): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Multiple \\tag'))) + raise PyJsTempException + return Js('\\gdef\\df@tag{\\text{#1}}') + PyJs_anonymous_350_._set_name('anonymous') + var.get('defineMacro')(Js('\\tag@literal'), PyJs_anonymous_350_) + var.get('defineMacro')(Js('\\bmod'), ((Js('\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}')+Js('\\mathbin{\\rm mod}'))+Js('\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}'))) + var.get('defineMacro')(Js('\\pod'), (Js('\\allowbreak')+Js('\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)'))) + var.get('defineMacro')(Js('\\pmod'), Js('\\pod{{\\rm mod}\\mkern6mu#1}')) + var.get('defineMacro')(Js('\\mod'), ((Js('\\allowbreak')+Js('\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}'))+Js('{\\rm mod}\\,\\,#1'))) + var.get('defineMacro')(Js('\\pmb'), ((Js('\\html@mathml{')+Js('\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}'))+Js('{\\mathbf{#1}}'))) + var.get('defineMacro')(Js('\\newline'), Js('\\\\\\relax')) + var.get('defineMacro')(Js('\\TeX'), ((Js('\\textrm{\\html@mathml{')+Js('T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX'))+Js('}{TeX}}'))) + var.put('latexRaiseA', ((var.get('fontMetricsData').get('Main-Regular').get(Js('T').callprop('charCodeAt', Js(0.0))).get('1')-(Js(0.7)*var.get('fontMetricsData').get('Main-Regular').get(Js('A').callprop('charCodeAt', Js(0.0))).get('1')))+Js('em'))) + var.get('defineMacro')(Js('\\LaTeX'), ((Js('\\textrm{\\html@mathml{')+((Js('L\\kern-.36em\\raisebox{')+var.get('latexRaiseA'))+Js('}{\\scriptstyle A}')))+Js('\\kern-.15em\\TeX}{LaTeX}}'))) + var.get('defineMacro')(Js('\\KaTeX'), ((Js('\\textrm{\\html@mathml{')+((Js('K\\kern-.17em\\raisebox{')+var.get('latexRaiseA'))+Js('}{\\scriptstyle A}')))+Js('\\kern-.15em\\TeX}{KaTeX}}'))) + var.get('defineMacro')(Js('\\hspace'), Js('\\@ifstar\\@hspacer\\@hspace')) + var.get('defineMacro')(Js('\\@hspace'), Js('\\hskip #1\\relax')) + var.get('defineMacro')(Js('\\@hspacer'), Js('\\rule{0pt}{0pt}\\hskip #1\\relax')) + var.get('defineMacro')(Js('\\ordinarycolon'), Js(':')) + var.get('defineMacro')(Js('\\vcentcolon'), Js('\\mathrel{\\mathop\\ordinarycolon}')) + var.get('defineMacro')(Js('\\dblcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}'))+Js('{\\mathop{\\char"2237}}'))) + var.get('defineMacro')(Js('\\coloneqq'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}'))+Js('{\\mathop{\\char"2254}}'))) + var.get('defineMacro')(Js('\\Coloneqq'), ((Js('\\html@mathml{')+Js('\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}'))+Js('{\\mathop{\\char"2237\\char"3d}}'))) + var.get('defineMacro')(Js('\\coloneq'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}'))+Js('{\\mathop{\\char"3a\\char"2212}}'))) + var.get('defineMacro')(Js('\\Coloneq'), ((Js('\\html@mathml{')+Js('\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}'))+Js('{\\mathop{\\char"2237\\char"2212}}'))) + var.get('defineMacro')(Js('\\eqqcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}'))+Js('{\\mathop{\\char"2255}}'))) + var.get('defineMacro')(Js('\\Eqqcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}'))+Js('{\\mathop{\\char"3d\\char"2237}}'))) + var.get('defineMacro')(Js('\\eqcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}'))+Js('{\\mathop{\\char"2239}}'))) + var.get('defineMacro')(Js('\\Eqcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}'))+Js('{\\mathop{\\char"2212\\char"2237}}'))) + var.get('defineMacro')(Js('\\colonapprox'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}'))+Js('{\\mathop{\\char"3a\\char"2248}}'))) + var.get('defineMacro')(Js('\\Colonapprox'), ((Js('\\html@mathml{')+Js('\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}'))+Js('{\\mathop{\\char"2237\\char"2248}}'))) + var.get('defineMacro')(Js('\\colonsim'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}'))+Js('{\\mathop{\\char"3a\\char"223c}}'))) + var.get('defineMacro')(Js('\\Colonsim'), ((Js('\\html@mathml{')+Js('\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}'))+Js('{\\mathop{\\char"2237\\char"223c}}'))) + var.get('defineMacro')(Js('∷'), Js('\\dblcolon')) + var.get('defineMacro')(Js('∹'), Js('\\eqcolon')) + var.get('defineMacro')(Js('≔'), Js('\\coloneqq')) + var.get('defineMacro')(Js('≕'), Js('\\eqqcolon')) + var.get('defineMacro')(Js('⩴'), Js('\\Coloneqq')) + var.get('defineMacro')(Js('\\ratio'), Js('\\vcentcolon')) + var.get('defineMacro')(Js('\\coloncolon'), Js('\\dblcolon')) + var.get('defineMacro')(Js('\\colonequals'), Js('\\coloneqq')) + var.get('defineMacro')(Js('\\coloncolonequals'), Js('\\Coloneqq')) + var.get('defineMacro')(Js('\\equalscolon'), Js('\\eqqcolon')) + var.get('defineMacro')(Js('\\equalscoloncolon'), Js('\\Eqqcolon')) + var.get('defineMacro')(Js('\\colonminus'), Js('\\coloneq')) + var.get('defineMacro')(Js('\\coloncolonminus'), Js('\\Coloneq')) + var.get('defineMacro')(Js('\\minuscolon'), Js('\\eqcolon')) + var.get('defineMacro')(Js('\\minuscoloncolon'), Js('\\Eqcolon')) + var.get('defineMacro')(Js('\\coloncolonapprox'), Js('\\Colonapprox')) + var.get('defineMacro')(Js('\\coloncolonsim'), Js('\\Colonsim')) + var.get('defineMacro')(Js('\\simcolon'), Js('\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}')) + var.get('defineMacro')(Js('\\simcoloncolon'), Js('\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}')) + var.get('defineMacro')(Js('\\approxcolon'), Js('\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}')) + var.get('defineMacro')(Js('\\approxcoloncolon'), Js('\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}')) + var.get('defineMacro')(Js('\\notni'), Js('\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}')) + var.get('defineMacro')(Js('\\limsup'), Js('\\DOTSB\\operatorname*{lim\\,sup}')) + var.get('defineMacro')(Js('\\liminf'), Js('\\DOTSB\\operatorname*{lim\\,inf}')) + var.get('defineMacro')(Js('\\injlim'), Js('\\DOTSB\\operatorname*{inj\\,lim}')) + var.get('defineMacro')(Js('\\projlim'), Js('\\DOTSB\\operatorname*{proj\\,lim}')) + var.get('defineMacro')(Js('\\varlimsup'), Js('\\DOTSB\\operatorname*{\\overline{lim}}')) + var.get('defineMacro')(Js('\\varliminf'), Js('\\DOTSB\\operatorname*{\\underline{lim}}')) + var.get('defineMacro')(Js('\\varinjlim'), Js('\\DOTSB\\operatorname*{\\underrightarrow{lim}}')) + var.get('defineMacro')(Js('\\varprojlim'), Js('\\DOTSB\\operatorname*{\\underleftarrow{lim}}')) + var.get('defineMacro')(Js('\\gvertneqq'), Js('\\html@mathml{\\@gvertneqq}{≩}')) + var.get('defineMacro')(Js('\\lvertneqq'), Js('\\html@mathml{\\@lvertneqq}{≨}')) + var.get('defineMacro')(Js('\\ngeqq'), Js('\\html@mathml{\\@ngeqq}{≱}')) + var.get('defineMacro')(Js('\\ngeqslant'), Js('\\html@mathml{\\@ngeqslant}{≱}')) + var.get('defineMacro')(Js('\\nleqq'), Js('\\html@mathml{\\@nleqq}{≰}')) + var.get('defineMacro')(Js('\\nleqslant'), Js('\\html@mathml{\\@nleqslant}{≰}')) + var.get('defineMacro')(Js('\\nshortmid'), Js('\\html@mathml{\\@nshortmid}{∤}')) + var.get('defineMacro')(Js('\\nshortparallel'), Js('\\html@mathml{\\@nshortparallel}{∦}')) + var.get('defineMacro')(Js('\\nsubseteqq'), Js('\\html@mathml{\\@nsubseteqq}{⊈}')) + var.get('defineMacro')(Js('\\nsupseteqq'), Js('\\html@mathml{\\@nsupseteqq}{⊉}')) + var.get('defineMacro')(Js('\\varsubsetneq'), Js('\\html@mathml{\\@varsubsetneq}{⊊}')) + var.get('defineMacro')(Js('\\varsubsetneqq'), Js('\\html@mathml{\\@varsubsetneqq}{⫋}')) + var.get('defineMacro')(Js('\\varsupsetneq'), Js('\\html@mathml{\\@varsupsetneq}{⊋}')) + var.get('defineMacro')(Js('\\varsupsetneqq'), Js('\\html@mathml{\\@varsupsetneqq}{⫌}')) + var.get('defineMacro')(Js('\\imath'), Js('\\html@mathml{\\@imath}{ı}')) + var.get('defineMacro')(Js('\\jmath'), Js('\\html@mathml{\\@jmath}{ȷ}')) + var.get('defineMacro')(Js('\\llbracket'), ((Js('\\html@mathml{')+Js('\\mathopen{[\\mkern-3.2mu[}}'))+Js('{\\mathopen{\\char`⟦}}'))) + var.get('defineMacro')(Js('\\rrbracket'), ((Js('\\html@mathml{')+Js('\\mathclose{]\\mkern-3.2mu]}}'))+Js('{\\mathclose{\\char`⟧}}'))) + var.get('defineMacro')(Js('⟦'), Js('\\llbracket')) + var.get('defineMacro')(Js('⟧'), Js('\\rrbracket')) + var.get('defineMacro')(Js('\\lBrace'), ((Js('\\html@mathml{')+Js('\\mathopen{\\{\\mkern-3.2mu[}}'))+Js('{\\mathopen{\\char`⦃}}'))) + var.get('defineMacro')(Js('\\rBrace'), ((Js('\\html@mathml{')+Js('\\mathclose{]\\mkern-3.2mu\\}}}'))+Js('{\\mathclose{\\char`⦄}}'))) + var.get('defineMacro')(Js('⦃'), Js('\\lBrace')) + var.get('defineMacro')(Js('⦄'), Js('\\rBrace')) + var.get('defineMacro')(Js('\\minuso'), (((Js('\\mathbin{\\html@mathml{')+Js('{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}'))+Js('{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}'))+Js('{\\char`⦵}}'))) + var.get('defineMacro')(Js('⦵'), Js('\\minuso')) + var.get('defineMacro')(Js('\\darr'), Js('\\downarrow')) + var.get('defineMacro')(Js('\\dArr'), Js('\\Downarrow')) + var.get('defineMacro')(Js('\\Darr'), Js('\\Downarrow')) + var.get('defineMacro')(Js('\\lang'), Js('\\langle')) + var.get('defineMacro')(Js('\\rang'), Js('\\rangle')) + var.get('defineMacro')(Js('\\uarr'), Js('\\uparrow')) + var.get('defineMacro')(Js('\\uArr'), Js('\\Uparrow')) + var.get('defineMacro')(Js('\\Uarr'), Js('\\Uparrow')) + var.get('defineMacro')(Js('\\N'), Js('\\mathbb{N}')) + var.get('defineMacro')(Js('\\R'), Js('\\mathbb{R}')) + var.get('defineMacro')(Js('\\Z'), Js('\\mathbb{Z}')) + var.get('defineMacro')(Js('\\alef'), Js('\\aleph')) + var.get('defineMacro')(Js('\\alefsym'), Js('\\aleph')) + var.get('defineMacro')(Js('\\Alpha'), Js('\\mathrm{A}')) + var.get('defineMacro')(Js('\\Beta'), Js('\\mathrm{B}')) + var.get('defineMacro')(Js('\\bull'), Js('\\bullet')) + var.get('defineMacro')(Js('\\Chi'), Js('\\mathrm{X}')) + var.get('defineMacro')(Js('\\clubs'), Js('\\clubsuit')) + var.get('defineMacro')(Js('\\cnums'), Js('\\mathbb{C}')) + var.get('defineMacro')(Js('\\Complex'), Js('\\mathbb{C}')) + var.get('defineMacro')(Js('\\Dagger'), Js('\\ddagger')) + var.get('defineMacro')(Js('\\diamonds'), Js('\\diamondsuit')) + var.get('defineMacro')(Js('\\empty'), Js('\\emptyset')) + var.get('defineMacro')(Js('\\Epsilon'), Js('\\mathrm{E}')) + var.get('defineMacro')(Js('\\Eta'), Js('\\mathrm{H}')) + var.get('defineMacro')(Js('\\exist'), Js('\\exists')) + var.get('defineMacro')(Js('\\harr'), Js('\\leftrightarrow')) + var.get('defineMacro')(Js('\\hArr'), Js('\\Leftrightarrow')) + var.get('defineMacro')(Js('\\Harr'), Js('\\Leftrightarrow')) + var.get('defineMacro')(Js('\\hearts'), Js('\\heartsuit')) + var.get('defineMacro')(Js('\\image'), Js('\\Im')) + var.get('defineMacro')(Js('\\infin'), Js('\\infty')) + var.get('defineMacro')(Js('\\Iota'), Js('\\mathrm{I}')) + var.get('defineMacro')(Js('\\isin'), Js('\\in')) + var.get('defineMacro')(Js('\\Kappa'), Js('\\mathrm{K}')) + var.get('defineMacro')(Js('\\larr'), Js('\\leftarrow')) + var.get('defineMacro')(Js('\\lArr'), Js('\\Leftarrow')) + var.get('defineMacro')(Js('\\Larr'), Js('\\Leftarrow')) + var.get('defineMacro')(Js('\\lrarr'), Js('\\leftrightarrow')) + var.get('defineMacro')(Js('\\lrArr'), Js('\\Leftrightarrow')) + var.get('defineMacro')(Js('\\Lrarr'), Js('\\Leftrightarrow')) + var.get('defineMacro')(Js('\\Mu'), Js('\\mathrm{M}')) + var.get('defineMacro')(Js('\\natnums'), Js('\\mathbb{N}')) + var.get('defineMacro')(Js('\\Nu'), Js('\\mathrm{N}')) + var.get('defineMacro')(Js('\\Omicron'), Js('\\mathrm{O}')) + var.get('defineMacro')(Js('\\plusmn'), Js('\\pm')) + var.get('defineMacro')(Js('\\rarr'), Js('\\rightarrow')) + var.get('defineMacro')(Js('\\rArr'), Js('\\Rightarrow')) + var.get('defineMacro')(Js('\\Rarr'), Js('\\Rightarrow')) + var.get('defineMacro')(Js('\\real'), Js('\\Re')) + var.get('defineMacro')(Js('\\reals'), Js('\\mathbb{R}')) + var.get('defineMacro')(Js('\\Reals'), Js('\\mathbb{R}')) + var.get('defineMacro')(Js('\\Rho'), Js('\\mathrm{P}')) + var.get('defineMacro')(Js('\\sdot'), Js('\\cdot')) + var.get('defineMacro')(Js('\\sect'), Js('\\S')) + var.get('defineMacro')(Js('\\spades'), Js('\\spadesuit')) + var.get('defineMacro')(Js('\\sub'), Js('\\subset')) + var.get('defineMacro')(Js('\\sube'), Js('\\subseteq')) + var.get('defineMacro')(Js('\\supe'), Js('\\supseteq')) + var.get('defineMacro')(Js('\\Tau'), Js('\\mathrm{T}')) + var.get('defineMacro')(Js('\\thetasym'), Js('\\vartheta')) + var.get('defineMacro')(Js('\\weierp'), Js('\\wp')) + var.get('defineMacro')(Js('\\Zeta'), Js('\\mathrm{Z}')) + var.get('defineMacro')(Js('\\argmin'), Js('\\DOTSB\\operatorname*{arg\\,min}')) + var.get('defineMacro')(Js('\\argmax'), Js('\\DOTSB\\operatorname*{arg\\,max}')) + var.get('defineMacro')(Js('\\plim'), Js('\\DOTSB\\mathop{\\operatorname{plim}}\\limits')) + var.get('defineMacro')(Js('\\bra'), Js('\\mathinner{\\langle{#1}|}')) + var.get('defineMacro')(Js('\\ket'), Js('\\mathinner{|{#1}\\rangle}')) + var.get('defineMacro')(Js('\\braket'), Js('\\mathinner{\\langle{#1}\\rangle}')) + var.get('defineMacro')(Js('\\Bra'), Js('\\left\\langle#1\\right|')) + var.get('defineMacro')(Js('\\Ket'), Js('\\left|#1\\right\\rangle')) + var.get('defineMacro')(Js('\\angln'), Js('{\\angl n}')) + var.get('defineMacro')(Js('\\blue'), Js('\\textcolor{##6495ed}{#1}')) + var.get('defineMacro')(Js('\\orange'), Js('\\textcolor{##ffa500}{#1}')) + var.get('defineMacro')(Js('\\pink'), Js('\\textcolor{##ff00af}{#1}')) + var.get('defineMacro')(Js('\\red'), Js('\\textcolor{##df0030}{#1}')) + var.get('defineMacro')(Js('\\green'), Js('\\textcolor{##28ae7b}{#1}')) + var.get('defineMacro')(Js('\\gray'), Js('\\textcolor{gray}{#1}')) + var.get('defineMacro')(Js('\\purple'), Js('\\textcolor{##9d38bd}{#1}')) + var.get('defineMacro')(Js('\\blueA'), Js('\\textcolor{##ccfaff}{#1}')) + var.get('defineMacro')(Js('\\blueB'), Js('\\textcolor{##80f6ff}{#1}')) + var.get('defineMacro')(Js('\\blueC'), Js('\\textcolor{##63d9ea}{#1}')) + var.get('defineMacro')(Js('\\blueD'), Js('\\textcolor{##11accd}{#1}')) + var.get('defineMacro')(Js('\\blueE'), Js('\\textcolor{##0c7f99}{#1}')) + var.get('defineMacro')(Js('\\tealA'), Js('\\textcolor{##94fff5}{#1}')) + var.get('defineMacro')(Js('\\tealB'), Js('\\textcolor{##26edd5}{#1}')) + var.get('defineMacro')(Js('\\tealC'), Js('\\textcolor{##01d1c1}{#1}')) + var.get('defineMacro')(Js('\\tealD'), Js('\\textcolor{##01a995}{#1}')) + var.get('defineMacro')(Js('\\tealE'), Js('\\textcolor{##208170}{#1}')) + var.get('defineMacro')(Js('\\greenA'), Js('\\textcolor{##b6ffb0}{#1}')) + var.get('defineMacro')(Js('\\greenB'), Js('\\textcolor{##8af281}{#1}')) + var.get('defineMacro')(Js('\\greenC'), Js('\\textcolor{##74cf70}{#1}')) + var.get('defineMacro')(Js('\\greenD'), Js('\\textcolor{##1fab54}{#1}')) + var.get('defineMacro')(Js('\\greenE'), Js('\\textcolor{##0d923f}{#1}')) + var.get('defineMacro')(Js('\\goldA'), Js('\\textcolor{##ffd0a9}{#1}')) + var.get('defineMacro')(Js('\\goldB'), Js('\\textcolor{##ffbb71}{#1}')) + var.get('defineMacro')(Js('\\goldC'), Js('\\textcolor{##ff9c39}{#1}')) + var.get('defineMacro')(Js('\\goldD'), Js('\\textcolor{##e07d10}{#1}')) + var.get('defineMacro')(Js('\\goldE'), Js('\\textcolor{##a75a05}{#1}')) + var.get('defineMacro')(Js('\\redA'), Js('\\textcolor{##fca9a9}{#1}')) + var.get('defineMacro')(Js('\\redB'), Js('\\textcolor{##ff8482}{#1}')) + var.get('defineMacro')(Js('\\redC'), Js('\\textcolor{##f9685d}{#1}')) + var.get('defineMacro')(Js('\\redD'), Js('\\textcolor{##e84d39}{#1}')) + var.get('defineMacro')(Js('\\redE'), Js('\\textcolor{##bc2612}{#1}')) + var.get('defineMacro')(Js('\\maroonA'), Js('\\textcolor{##ffbde0}{#1}')) + var.get('defineMacro')(Js('\\maroonB'), Js('\\textcolor{##ff92c6}{#1}')) + var.get('defineMacro')(Js('\\maroonC'), Js('\\textcolor{##ed5fa6}{#1}')) + var.get('defineMacro')(Js('\\maroonD'), Js('\\textcolor{##ca337c}{#1}')) + var.get('defineMacro')(Js('\\maroonE'), Js('\\textcolor{##9e034e}{#1}')) + var.get('defineMacro')(Js('\\purpleA'), Js('\\textcolor{##ddd7ff}{#1}')) + var.get('defineMacro')(Js('\\purpleB'), Js('\\textcolor{##c6b9fc}{#1}')) + var.get('defineMacro')(Js('\\purpleC'), Js('\\textcolor{##aa87ff}{#1}')) + var.get('defineMacro')(Js('\\purpleD'), Js('\\textcolor{##7854ab}{#1}')) + var.get('defineMacro')(Js('\\purpleE'), Js('\\textcolor{##543b78}{#1}')) + var.get('defineMacro')(Js('\\mintA'), Js('\\textcolor{##f5f9e8}{#1}')) + var.get('defineMacro')(Js('\\mintB'), Js('\\textcolor{##edf2df}{#1}')) + var.get('defineMacro')(Js('\\mintC'), Js('\\textcolor{##e0e5cc}{#1}')) + var.get('defineMacro')(Js('\\grayA'), Js('\\textcolor{##f6f7f7}{#1}')) + var.get('defineMacro')(Js('\\grayB'), Js('\\textcolor{##f0f1f2}{#1}')) + var.get('defineMacro')(Js('\\grayC'), Js('\\textcolor{##e3e5e6}{#1}')) + var.get('defineMacro')(Js('\\grayD'), Js('\\textcolor{##d6d8da}{#1}')) + var.get('defineMacro')(Js('\\grayE'), Js('\\textcolor{##babec2}{#1}')) + var.get('defineMacro')(Js('\\grayF'), Js('\\textcolor{##888d93}{#1}')) + var.get('defineMacro')(Js('\\grayG'), Js('\\textcolor{##626569}{#1}')) + var.get('defineMacro')(Js('\\grayH'), Js('\\textcolor{##3b3e40}{#1}')) + var.get('defineMacro')(Js('\\grayI'), Js('\\textcolor{##21242c}{#1}')) + var.get('defineMacro')(Js('\\kaBlue'), Js('\\textcolor{##314453}{#1}')) + var.get('defineMacro')(Js('\\kaGreen'), Js('\\textcolor{##71B307}{#1}')) + pass @Js - def PyJs_handler_300_(_ref, args, this, arguments, var=var): - var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_300_}, var) - var.registers(['funcName', 'breakOnTokenText', 'body', '_ref', 'args', 'parser']) - var.put('breakOnTokenText', var.get('_ref').get('breakOnTokenText')) + def PyJs_htmlBuilder_351_(grp, options, this, arguments, var=var): + var = Scope({'grp':grp, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_351_}, var) + var.registers(['grp', 'base', 'supGroup', 'group', 'subGroup', 'body', 'hasLimits', 'i', 'child', 'expression', 'options']) + pass + pass + var.put('hasLimits', Js(False)) + pass + if PyJsStrictEq(var.get('grp').get('type'),Js('supsub')): + var.put('supGroup', var.get('grp').get('sup')) + var.put('subGroup', var.get('grp').get('sub')) + var.put('group', var.get('assertNodeType')(var.get('grp').get('base'), Js('operatorname'))) + var.put('hasLimits', Js(True)) + else: + var.put('group', var.get('assertNodeType')(var.get('grp'), Js('operatorname'))) + pass + if (var.get('group').get('body').get('length')>Js(0.0)): + @Js + def PyJs_anonymous_352_(child, this, arguments, var=var): + var = Scope({'child':child, 'this':this, 'arguments':arguments}, var) + var.registers(['childText', 'child']) + var.put('childText', var.get('child').get('text')) + if PyJsStrictEq(var.get('childText',throw=False).typeof(),Js('string')): + return Js({'type':Js('textord'),'mode':var.get('child').get('mode'),'text':var.get('childText')}) + else: + return var.get('child') + PyJs_anonymous_352_._set_name('anonymous') + var.put('body', var.get('group').get('body').callprop('map', PyJs_anonymous_352_)) + var.put('expression', var.get('buildExpression')(var.get('body'), var.get('options').callprop('withFont', Js('mathrm')), Js(True))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): - var.get(u"this").get('undefStack').get((var.get(u"this").get('undefStack').get('length')-Js(1.0))).put(var.get('name'), var.get('value')) - else: - var.put('top', var.get(u"this").get('undefStack').get((var.get(u"this").get('undefStack').get('length')-Js(1.0)))) - if (var.get('top') and var.get('top').callprop('hasOwnProperty', var.get('name')).neg()): - var.get('top').put(var.get('name'), var.get(u"this").get('current').get(var.get('name'))) - var.get(u"this").get('current').put(var.get('name'), var.get('value')) - PyJs_set_352_._set_name('set') - var.get('_proto').put('set', PyJs_set_352_) - return var.get('Namespace') - PyJs_anonymous_347_._set_name('anonymous') - var.put('Namespace_Namespace', PyJs_anonymous_347_()) - var.put('builtinMacros', Js({})) - var.put('macros', var.get('builtinMacros')) - pass - @Js - def PyJs_anonymous_353_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['context', 'args']) - var.put('args', var.get('context').callprop('consumeArgs', Js(2.0))) - return Js({'tokens':var.get('args').get('0'),'numArgs':Js(0.0)}) - PyJs_anonymous_353_._set_name('anonymous') - var.get('defineMacro')(Js('\\@firstoftwo'), PyJs_anonymous_353_) - @Js - def PyJs_anonymous_354_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['context', 'args']) - var.put('args', var.get('context').callprop('consumeArgs', Js(2.0))) - return Js({'tokens':var.get('args').get('1'),'numArgs':Js(0.0)}) - PyJs_anonymous_354_._set_name('anonymous') - var.get('defineMacro')(Js('\\@secondoftwo'), PyJs_anonymous_354_) - @Js - def PyJs_anonymous_355_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['nextToken', 'context', 'args']) - var.put('args', var.get('context').callprop('consumeArgs', Js(3.0))) - var.put('nextToken', var.get('context').callprop('future')) - if (PyJsStrictEq(var.get('args').get('0').get('length'),Js(1.0)) and PyJsStrictEq(var.get('args').get('0').get('0').get('text'),var.get('nextToken').get('text'))): - return Js({'tokens':var.get('args').get('1'),'numArgs':Js(0.0)}) - else: - return Js({'tokens':var.get('args').get('2'),'numArgs':Js(0.0)}) - PyJs_anonymous_355_._set_name('anonymous') - var.get('defineMacro')(Js('\\@ifnextchar'), PyJs_anonymous_355_) - var.get('defineMacro')(Js('\\@ifstar'), Js('\\@ifnextchar *{\\@firstoftwo{#1}}')) + return var.get('node') + PyJs_mathmlBuilder_396_._set_name('mathmlBuilder') + var.get('defineFunctionBuilders')(Js({'type':Js('textord'),'htmlBuilder':PyJs_htmlBuilder_395_,'mathmlBuilder':PyJs_mathmlBuilder_396_})) + pass + var.put('cssSpace', Js({'\\nobreak':Js('nobreak'),'\\allowbreak':Js('allowbreak')})) + var.put('regularSpace', Js({' ':Js({}),'\\ ':Js({}),'~':Js({'className':Js('nobreak')}),'\\space':Js({}),'\\nobreakspace':Js({'className':Js('nobreak')})})) @Js - def PyJs_anonymous_356_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['context', 'args']) - var.put('args', var.get('context').callprop('consumeArgs', Js(2.0))) - if PyJsStrictEq(var.get('context').get('mode'),Js('text')): - return Js({'tokens':var.get('args').get('0'),'numArgs':Js(0.0)}) + def PyJs_htmlBuilder_397_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_397_}, var) + var.registers(['ord', 'className', 'options', 'group']) + if var.get('regularSpace').callprop('hasOwnProperty', var.get('group').get('text')): + var.put('className', (var.get('regularSpace').get(var.get('group').get('text')).get('className') or Js(''))) + if PyJsStrictEq(var.get('group').get('mode'),Js('text')): + var.put('ord', var.get('buildCommon').callprop('makeOrd', var.get('group'), var.get('options'), Js('textord'))) + var.get('ord').get('classes').callprop('push', var.get('className')) + return var.get('ord') + else: + return var.get('buildCommon').callprop('makeSpan', Js([Js('mspace'), var.get('className')]), Js([var.get('buildCommon').callprop('mathsym', var.get('group').get('text'), var.get('group').get('mode'), var.get('options'))]), var.get('options')) else: - return Js({'tokens':var.get('args').get('1'),'numArgs':Js(0.0)}) - PyJs_anonymous_356_._set_name('anonymous') - var.get('defineMacro')(Js('\\TextOrMath'), PyJs_anonymous_356_) - var.put('digitToNumber', Js({'0':Js(0.0),'1':Js(1.0),'2':Js(2.0),'3':Js(3.0),'4':Js(4.0),'5':Js(5.0),'6':Js(6.0),'7':Js(7.0),'8':Js(8.0),'9':Js(9.0),'a':Js(10.0),'A':Js(10.0),'b':Js(11.0),'B':Js(11.0),'c':Js(12.0),'C':Js(12.0),'d':Js(13.0),'D':Js(13.0),'e':Js(14.0),'E':Js(14.0),'f':Js(15.0),'F':Js(15.0)})) + if var.get('cssSpace').callprop('hasOwnProperty', var.get('group').get('text')): + return var.get('buildCommon').callprop('makeSpan', Js([Js('mspace'), var.get('cssSpace').get(var.get('group').get('text'))]), Js([]), var.get('options')) + else: + PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js('Unknown type of space "')+var.get('group').get('text'))+Js('"')))) + raise PyJsTempException + PyJs_htmlBuilder_397_._set_name('htmlBuilder') @Js - def PyJs_anonymous_357_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['digit', 'context', 'token', 'base', 'number']) - var.put('token', var.get('context').callprop('popToken')) + def PyJs_mathmlBuilder_398_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_398_}, var) + var.registers(['group', 'options', 'node']) pass - var.put('number', Js('')) - if PyJsStrictEq(var.get('token').get('text'),Js("'")): - var.put('base', Js(8.0)) - var.put('token', var.get('context').callprop('popToken')) + if var.get('regularSpace').callprop('hasOwnProperty', var.get('group').get('text')): + var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mtext'), Js([var.get('mathMLTree').get('TextNode').create(Js('\xa0'))]))) else: - if PyJsStrictEq(var.get('token').get('text'),Js('"')): - var.put('base', Js(16.0)) - var.put('token', var.get('context').callprop('popToken')) + if var.get('cssSpace').callprop('hasOwnProperty', var.get('group').get('text')): + return var.get('mathMLTree').get('MathNode').create(Js('mspace')) else: - if PyJsStrictEq(var.get('token').get('text'),Js('`')): - var.put('token', var.get('context').callprop('popToken')) - if PyJsStrictEq(var.get('token').get('text').get('0'),Js('\\')): - var.put('number', var.get('token').get('text').callprop('charCodeAt', Js(1.0))) - else: - if PyJsStrictEq(var.get('token').get('text'),Js('EOF')): - PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('\\char` missing argument'))) - raise PyJsTempException - else: - var.put('number', var.get('token').get('text').callprop('charCodeAt', Js(0.0))) - else: - var.put('base', Js(10.0)) - if var.get('base'): - var.put('number', var.get('digitToNumber').get(var.get('token').get('text'))) - if ((var.get('number')==var.get(u"null")) or (var.get('number')>=var.get('base'))): - PyJsTempException = JsToPyException(var.get('src_ParseError').create((((Js('Invalid base-')+var.get('base'))+Js(' digit '))+var.get('token').get('text')))) - raise PyJsTempException - pass - while ((var.put('digit', var.get('digitToNumber').get(var.get('context').callprop('future').get('text')))!=var.get(u"null")) and (var.get('digit')':Js('\\dotsb'),'-':Js('\\dotsb'),'*':Js('\\dotsb'),':':Js('\\dotsb'),'\\DOTSB':Js('\\dotsb'),'\\coprod':Js('\\dotsb'),'\\bigvee':Js('\\dotsb'),'\\bigwedge':Js('\\dotsb'),'\\biguplus':Js('\\dotsb'),'\\bigcap':Js('\\dotsb'),'\\bigcup':Js('\\dotsb'),'\\prod':Js('\\dotsb'),'\\sum':Js('\\dotsb'),'\\bigotimes':Js('\\dotsb'),'\\bigoplus':Js('\\dotsb'),'\\bigodot':Js('\\dotsb'),'\\bigsqcup':Js('\\dotsb'),'\\And':Js('\\dotsb'),'\\longrightarrow':Js('\\dotsb'),'\\Longrightarrow':Js('\\dotsb'),'\\longleftarrow':Js('\\dotsb'),'\\Longleftarrow':Js('\\dotsb'),'\\longleftrightarrow':Js('\\dotsb'),'\\Longleftrightarrow':Js('\\dotsb'),'\\mapsto':Js('\\dotsb'),'\\longmapsto':Js('\\dotsb'),'\\hookrightarrow':Js('\\dotsb'),'\\doteq':Js('\\dotsb'),'\\mathbin':Js('\\dotsb'),'\\mathrel':Js('\\dotsb'),'\\relbar':Js('\\dotsb'),'\\Relbar':Js('\\dotsb'),'\\xrightarrow':Js('\\dotsb'),'\\xleftarrow':Js('\\dotsb'),'\\DOTSI':Js('\\dotsi'),'\\int':Js('\\dotsi'),'\\oint':Js('\\dotsi'),'\\iint':Js('\\dotsi'),'\\iiint':Js('\\dotsi'),'\\iiiint':Js('\\dotsi'),'\\idotsint':Js('\\dotsi'),'\\DOTSX':Js('\\dotsx')})) + def PyJs_handler_411_(_ref, args, this, arguments, var=var): + var = Scope({'_ref':_ref, 'args':args, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_411_}, var) + var.registers(['_ref', 'parser', 'args']) + var.put('parser', var.get('_ref').get('parser')) + return Js({'type':Js('vcenter'),'mode':var.get('parser').get('mode'),'body':var.get('args').get('0')}) + PyJs_handler_411_._set_name('handler') @Js - def PyJs_anonymous_366_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['context', 'next', 'thedots']) - var.put('thedots', Js('\\dotso')) - var.put('next', var.get('context').callprop('expandAfterFuture').get('text')) - if var.get('dotsByToken').contains(var.get('next')): - var.put('thedots', var.get('dotsByToken').get(var.get('next'))) - else: - if PyJsStrictEq(var.get('next').callprop('substr', Js(0.0), Js(4.0)),Js('\\not')): - var.put('thedots', Js('\\dotsb')) - else: - if var.get('src_symbols').get('math').contains(var.get('next')): - if var.get('utils').callprop('contains', Js([Js('bin'), Js('rel')]), var.get('src_symbols').get('math').get(var.get('next')).get('group')): - var.put('thedots', Js('\\dotsb')) - return var.get('thedots') - PyJs_anonymous_366_._set_name('anonymous') - var.get('defineMacro')(Js('\\dots'), PyJs_anonymous_366_) - var.put('spaceAfterDots', Js({')':Js(True),']':Js(True),'\\rbrack':Js(True),'\\}':Js(True),'\\rbrace':Js(True),'\\rangle':Js(True),'\\rceil':Js(True),'\\rfloor':Js(True),'\\rgroup':Js(True),'\\rmoustache':Js(True),'\\right':Js(True),'\\bigr':Js(True),'\\biggr':Js(True),'\\Bigr':Js(True),'\\Biggr':Js(True),'$':Js(True),';':Js(True),'.':Js(True),',':Js(True)})) + def PyJs_htmlBuilder_412_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_412_}, var) + var.registers(['group', 'body', 'dy', 'axisHeight', 'options']) + var.put('body', var.get('buildGroup')(var.get('group').get('body'), var.get('options'))) + var.put('axisHeight', var.get('options').callprop('fontMetrics').get('axisHeight')) + var.put('dy', (Js(0.5)*((var.get('body').get('height')-var.get('axisHeight'))-(var.get('body').get('depth')+var.get('axisHeight'))))) + return var.get('buildCommon').callprop('makeVList', Js({'positionType':Js('shift'),'positionData':var.get('dy'),'children':Js([Js({'type':Js('elem'),'elem':var.get('body')})])}), var.get('options')) + PyJs_htmlBuilder_412_._set_name('htmlBuilder') @Js - def PyJs_anonymous_367_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['context', 'next']) - var.put('next', var.get('context').callprop('future').get('text')) - if var.get('spaceAfterDots').contains(var.get('next')): - return Js('\\ldots\\,') - else: - return Js('\\ldots') - PyJs_anonymous_367_._set_name('anonymous') - var.get('defineMacro')(Js('\\dotso'), PyJs_anonymous_367_) + def PyJs_mathmlBuilder_413_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_413_}, var) + var.registers(['group', 'options']) + return var.get('mathMLTree').get('MathNode').create(Js('mpadded'), Js([var.get('buildMathML_buildGroup')(var.get('group').get('body'), var.get('options'))]), Js([Js('vcenter')])) + PyJs_mathmlBuilder_413_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('vcenter'),'names':Js([Js('\\vcenter')]),'props':Js({'numArgs':Js(1.0),'argTypes':Js([Js('original')]),'allowedInText':Js(False)}),'handler':PyJs_handler_411_,'htmlBuilder':PyJs_htmlBuilder_412_,'mathmlBuilder':PyJs_mathmlBuilder_413_})) + pass @Js - def PyJs_anonymous_368_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['context', 'next']) - var.put('next', var.get('context').callprop('future').get('text')) - if (var.get('spaceAfterDots').contains(var.get('next')) and PyJsStrictNeq(var.get('next'),Js(','))): - return Js('\\ldots\\,') - else: - return Js('\\ldots') - PyJs_anonymous_368_._set_name('anonymous') - var.get('defineMacro')(Js('\\dotsc'), PyJs_anonymous_368_) + def PyJs_handler_414_(context, args, optArgs, this, arguments, var=var): + var = Scope({'context':context, 'args':args, 'optArgs':optArgs, 'this':this, 'arguments':arguments, 'handler':PyJs_handler_414_}, var) + var.registers(['context', 'optArgs', 'args']) + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('\\verb ended by end of line instead of matching delimiter'))) + raise PyJsTempException + PyJs_handler_414_._set_name('handler') + @Js + def PyJs_htmlBuilder_415_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'htmlBuilder':PyJs_htmlBuilder_415_}, var) + var.registers(['newOptions', 'text', 'group', 'c', 'body', 'i', 'options']) + var.put('text', var.get('makeVerb')(var.get('group'))) + var.put('body', Js([])) + var.put('newOptions', var.get('options').callprop('havingStyle', var.get('options').get('style').callprop('text'))) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')'), Js('\\mskip{4mu}')) - var.get('defineMacro')(Js('\\:'), Js('\\tmspace+{4mu}{.2222em}')) - var.get('defineMacro')(Js('\\medspace'), Js('\\:')) - var.get('defineMacro')(Js('\\;'), Js('\\tmspace+{5mu}{.2777em}')) - var.get('defineMacro')(Js('\\thickspace'), Js('\\;')) - var.get('defineMacro')(Js('\\!'), Js('\\tmspace-{3mu}{.1667em}')) - var.get('defineMacro')(Js('\\negthinspace'), Js('\\!')) - var.get('defineMacro')(Js('\\negmedspace'), Js('\\tmspace-{4mu}{.2222em}')) - var.get('defineMacro')(Js('\\negthickspace'), Js('\\tmspace-{5mu}{.277em}')) - var.get('defineMacro')(Js('\\enspace'), Js('\\kern.5em ')) - var.get('defineMacro')(Js('\\enskip'), Js('\\hskip.5em\\relax')) - var.get('defineMacro')(Js('\\quad'), Js('\\hskip1em\\relax')) - var.get('defineMacro')(Js('\\qquad'), Js('\\hskip2em\\relax')) - var.get('defineMacro')(Js('\\tag'), Js('\\@ifstar\\tag@literal\\tag@paren')) - var.get('defineMacro')(Js('\\tag@paren'), Js('\\tag@literal{({#1})}')) + def PyJs_mathmlBuilder_416_(group, options, this, arguments, var=var): + var = Scope({'group':group, 'options':options, 'this':this, 'arguments':arguments, 'mathmlBuilder':PyJs_mathmlBuilder_416_}, var) + var.registers(['group', 'options', 'text', 'node']) + var.put('text', var.get('mathMLTree').get('TextNode').create(var.get('makeVerb')(var.get('group')))) + var.put('node', var.get('mathMLTree').get('MathNode').create(Js('mtext'), Js([var.get('text')]))) + var.get('node').callprop('setAttribute', Js('mathvariant'), Js('monospace')) + return var.get('node') + PyJs_mathmlBuilder_416_._set_name('mathmlBuilder') + var.get('defineFunction')(Js({'type':Js('verb'),'names':Js([Js('\\verb')]),'props':Js({'numArgs':Js(0.0),'allowedInText':Js(True)}),'handler':PyJs_handler_414_,'htmlBuilder':PyJs_htmlBuilder_415_,'mathmlBuilder':PyJs_mathmlBuilder_416_})) @Js - def PyJs_anonymous_370_(context, this, arguments, var=var): - var = Scope({'context':context, 'this':this, 'arguments':arguments}, var) - var.registers(['context']) - if var.get('context').get('macros').callprop('get', Js('\\df@tag')): - PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Multiple \\tag'))) - raise PyJsTempException - return Js('\\gdef\\df@tag{\\text{#1}}') - PyJs_anonymous_370_._set_name('anonymous') - var.get('defineMacro')(Js('\\tag@literal'), PyJs_anonymous_370_) - var.get('defineMacro')(Js('\\bmod'), ((Js('\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}')+Js('\\mathbin{\\rm mod}'))+Js('\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}'))) - var.get('defineMacro')(Js('\\pod'), (Js('\\allowbreak')+Js('\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)'))) - var.get('defineMacro')(Js('\\pmod'), Js('\\pod{{\\rm mod}\\mkern6mu#1}')) - var.get('defineMacro')(Js('\\mod'), ((Js('\\allowbreak')+Js('\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}'))+Js('{\\rm mod}\\,\\,#1'))) - var.get('defineMacro')(Js('\\pmb'), ((((Js('\\html@mathml{\\@binrel{#1}{')+Js('\\mathrlap{#1}'))+Js('\\mathrlap{\\mkern0.4mu\\raisebox{0.4mu}{$#1$}}'))+Js('{\\mkern0.8mu#1}'))+Js('}}{\\mathbf{#1}}'))) - var.get('defineMacro')(Js('\\\\'), Js('\\newline')) - var.get('defineMacro')(Js('\\TeX'), ((Js('\\textrm{\\html@mathml{')+Js('T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX'))+Js('}{TeX}}'))) - var.put('latexRaiseA', ((var.get('fontMetricsData').get('Main-Regular').get(Js('T').callprop('charCodeAt', Js(0.0))).get('1')-(Js(0.7)*var.get('fontMetricsData').get('Main-Regular').get(Js('A').callprop('charCodeAt', Js(0.0))).get('1')))+Js('em'))) - var.get('defineMacro')(Js('\\LaTeX'), ((Js('\\textrm{\\html@mathml{')+((Js('L\\kern-.36em\\raisebox{')+var.get('latexRaiseA'))+Js('}{\\scriptsize A}')))+Js('\\kern-.15em\\TeX}{LaTeX}}'))) - var.get('defineMacro')(Js('\\KaTeX'), ((Js('\\textrm{\\html@mathml{')+((Js('K\\kern-.17em\\raisebox{')+var.get('latexRaiseA'))+Js('}{\\scriptsize A}')))+Js('\\kern-.15em\\TeX}{KaTeX}}'))) - var.get('defineMacro')(Js('\\hspace'), Js('\\@ifstar\\@hspacer\\@hspace')) - var.get('defineMacro')(Js('\\@hspace'), Js('\\hskip #1\\relax')) - var.get('defineMacro')(Js('\\@hspacer'), Js('\\rule{0pt}{0pt}\\hskip #1\\relax')) - var.get('defineMacro')(Js('\\ordinarycolon'), Js(':')) - var.get('defineMacro')(Js('\\vcentcolon'), Js('\\mathrel{\\mathop\\ordinarycolon}')) - var.get('defineMacro')(Js('\\dblcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}'))+Js('{\\mathop{\\char"2237}}'))) - var.get('defineMacro')(Js('\\coloneqq'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}'))+Js('{\\mathop{\\char"2254}}'))) - var.get('defineMacro')(Js('\\Coloneqq'), ((Js('\\html@mathml{')+Js('\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}'))+Js('{\\mathop{\\char"2237\\char"3d}}'))) - var.get('defineMacro')(Js('\\coloneq'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}'))+Js('{\\mathop{\\char"3a\\char"2212}}'))) - var.get('defineMacro')(Js('\\Coloneq'), ((Js('\\html@mathml{')+Js('\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}'))+Js('{\\mathop{\\char"2237\\char"2212}}'))) - var.get('defineMacro')(Js('\\eqqcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}'))+Js('{\\mathop{\\char"2255}}'))) - var.get('defineMacro')(Js('\\Eqqcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}'))+Js('{\\mathop{\\char"3d\\char"2237}}'))) - var.get('defineMacro')(Js('\\eqcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}'))+Js('{\\mathop{\\char"2239}}'))) - var.get('defineMacro')(Js('\\Eqcolon'), ((Js('\\html@mathml{')+Js('\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}'))+Js('{\\mathop{\\char"2212\\char"2237}}'))) - var.get('defineMacro')(Js('\\colonapprox'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}'))+Js('{\\mathop{\\char"3a\\char"2248}}'))) - var.get('defineMacro')(Js('\\Colonapprox'), ((Js('\\html@mathml{')+Js('\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}'))+Js('{\\mathop{\\char"2237\\char"2248}}'))) - var.get('defineMacro')(Js('\\colonsim'), ((Js('\\html@mathml{')+Js('\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}'))+Js('{\\mathop{\\char"3a\\char"223c}}'))) - var.get('defineMacro')(Js('\\Colonsim'), ((Js('\\html@mathml{')+Js('\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}'))+Js('{\\mathop{\\char"2237\\char"223c}}'))) - var.get('defineMacro')(Js('∷'), Js('\\dblcolon')) - var.get('defineMacro')(Js('∹'), Js('\\eqcolon')) - var.get('defineMacro')(Js('≔'), Js('\\coloneqq')) - var.get('defineMacro')(Js('≕'), Js('\\eqqcolon')) - var.get('defineMacro')(Js('⩴'), Js('\\Coloneqq')) - var.get('defineMacro')(Js('\\ratio'), Js('\\vcentcolon')) - var.get('defineMacro')(Js('\\coloncolon'), Js('\\dblcolon')) - var.get('defineMacro')(Js('\\colonequals'), Js('\\coloneqq')) - var.get('defineMacro')(Js('\\coloncolonequals'), Js('\\Coloneqq')) - var.get('defineMacro')(Js('\\equalscolon'), Js('\\eqqcolon')) - var.get('defineMacro')(Js('\\equalscoloncolon'), Js('\\Eqqcolon')) - var.get('defineMacro')(Js('\\colonminus'), Js('\\coloneq')) - var.get('defineMacro')(Js('\\coloncolonminus'), Js('\\Coloneq')) - var.get('defineMacro')(Js('\\minuscolon'), Js('\\eqcolon')) - var.get('defineMacro')(Js('\\minuscoloncolon'), Js('\\Eqcolon')) - var.get('defineMacro')(Js('\\coloncolonapprox'), Js('\\Colonapprox')) - var.get('defineMacro')(Js('\\coloncolonsim'), Js('\\Colonsim')) - var.get('defineMacro')(Js('\\simcolon'), Js('\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}')) - var.get('defineMacro')(Js('\\simcoloncolon'), Js('\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}')) - var.get('defineMacro')(Js('\\approxcolon'), Js('\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}')) - var.get('defineMacro')(Js('\\approxcoloncolon'), Js('\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}')) - var.get('defineMacro')(Js('\\notni'), Js('\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}')) - var.get('defineMacro')(Js('\\limsup'), Js('\\DOTSB\\mathop{\\operatorname{lim\\,sup}}\\limits')) - var.get('defineMacro')(Js('\\liminf'), Js('\\DOTSB\\mathop{\\operatorname{lim\\,inf}}\\limits')) - var.get('defineMacro')(Js('\\gvertneqq'), Js('\\html@mathml{\\@gvertneqq}{≩}')) - var.get('defineMacro')(Js('\\lvertneqq'), Js('\\html@mathml{\\@lvertneqq}{≨}')) - var.get('defineMacro')(Js('\\ngeqq'), Js('\\html@mathml{\\@ngeqq}{≱}')) - var.get('defineMacro')(Js('\\ngeqslant'), Js('\\html@mathml{\\@ngeqslant}{≱}')) - var.get('defineMacro')(Js('\\nleqq'), Js('\\html@mathml{\\@nleqq}{≰}')) - var.get('defineMacro')(Js('\\nleqslant'), Js('\\html@mathml{\\@nleqslant}{≰}')) - var.get('defineMacro')(Js('\\nshortmid'), Js('\\html@mathml{\\@nshortmid}{∤}')) - var.get('defineMacro')(Js('\\nshortparallel'), Js('\\html@mathml{\\@nshortparallel}{∦}')) - var.get('defineMacro')(Js('\\nsubseteqq'), Js('\\html@mathml{\\@nsubseteqq}{⊈}')) - var.get('defineMacro')(Js('\\nsupseteqq'), Js('\\html@mathml{\\@nsupseteqq}{⊉}')) - var.get('defineMacro')(Js('\\varsubsetneq'), Js('\\html@mathml{\\@varsubsetneq}{⊊}')) - var.get('defineMacro')(Js('\\varsubsetneqq'), Js('\\html@mathml{\\@varsubsetneqq}{⫋}')) - var.get('defineMacro')(Js('\\varsupsetneq'), Js('\\html@mathml{\\@varsupsetneq}{⊋}')) - var.get('defineMacro')(Js('\\varsupsetneqq'), Js('\\html@mathml{\\@varsupsetneqq}{⫌}')) - var.get('defineMacro')(Js('\\llbracket'), ((Js('\\html@mathml{')+Js('\\mathopen{[\\mkern-3.2mu[}}'))+Js('{\\mathopen{\\char`⟦}}'))) - var.get('defineMacro')(Js('\\rrbracket'), ((Js('\\html@mathml{')+Js('\\mathclose{]\\mkern-3.2mu]}}'))+Js('{\\mathclose{\\char`⟧}}'))) - var.get('defineMacro')(Js('⟦'), Js('\\llbracket')) - var.get('defineMacro')(Js('⟧'), Js('\\rrbracket')) - var.get('defineMacro')(Js('\\lBrace'), ((Js('\\html@mathml{')+Js('\\mathopen{\\{\\mkern-3.2mu[}}'))+Js('{\\mathopen{\\char`⦃}}'))) - var.get('defineMacro')(Js('\\rBrace'), ((Js('\\html@mathml{')+Js('\\mathclose{]\\mkern-3.2mu\\}}}'))+Js('{\\mathclose{\\char`⦄}}'))) - var.get('defineMacro')(Js('⦃'), Js('\\lBrace')) - var.get('defineMacro')(Js('⦄'), Js('\\rBrace')) - var.get('defineMacro')(Js('\\darr'), Js('\\downarrow')) - var.get('defineMacro')(Js('\\dArr'), Js('\\Downarrow')) - var.get('defineMacro')(Js('\\Darr'), Js('\\Downarrow')) - var.get('defineMacro')(Js('\\lang'), Js('\\langle')) - var.get('defineMacro')(Js('\\rang'), Js('\\rangle')) - var.get('defineMacro')(Js('\\uarr'), Js('\\uparrow')) - var.get('defineMacro')(Js('\\uArr'), Js('\\Uparrow')) - var.get('defineMacro')(Js('\\Uarr'), Js('\\Uparrow')) - var.get('defineMacro')(Js('\\N'), Js('\\mathbb{N}')) - var.get('defineMacro')(Js('\\R'), Js('\\mathbb{R}')) - var.get('defineMacro')(Js('\\Z'), Js('\\mathbb{Z}')) - var.get('defineMacro')(Js('\\alef'), Js('\\aleph')) - var.get('defineMacro')(Js('\\alefsym'), Js('\\aleph')) - var.get('defineMacro')(Js('\\Alpha'), Js('\\mathrm{A}')) - var.get('defineMacro')(Js('\\Beta'), Js('\\mathrm{B}')) - var.get('defineMacro')(Js('\\bull'), Js('\\bullet')) - var.get('defineMacro')(Js('\\Chi'), Js('\\mathrm{X}')) - var.get('defineMacro')(Js('\\clubs'), Js('\\clubsuit')) - var.get('defineMacro')(Js('\\cnums'), Js('\\mathbb{C}')) - var.get('defineMacro')(Js('\\Complex'), Js('\\mathbb{C}')) - var.get('defineMacro')(Js('\\Dagger'), Js('\\ddagger')) - var.get('defineMacro')(Js('\\diamonds'), Js('\\diamondsuit')) - var.get('defineMacro')(Js('\\empty'), Js('\\emptyset')) - var.get('defineMacro')(Js('\\Epsilon'), Js('\\mathrm{E}')) - var.get('defineMacro')(Js('\\Eta'), Js('\\mathrm{H}')) - var.get('defineMacro')(Js('\\exist'), Js('\\exists')) - var.get('defineMacro')(Js('\\harr'), Js('\\leftrightarrow')) - var.get('defineMacro')(Js('\\hArr'), Js('\\Leftrightarrow')) - var.get('defineMacro')(Js('\\Harr'), Js('\\Leftrightarrow')) - var.get('defineMacro')(Js('\\hearts'), Js('\\heartsuit')) - var.get('defineMacro')(Js('\\image'), Js('\\Im')) - var.get('defineMacro')(Js('\\infin'), Js('\\infty')) - var.get('defineMacro')(Js('\\Iota'), Js('\\mathrm{I}')) - var.get('defineMacro')(Js('\\isin'), Js('\\in')) - var.get('defineMacro')(Js('\\Kappa'), Js('\\mathrm{K}')) - var.get('defineMacro')(Js('\\larr'), Js('\\leftarrow')) - var.get('defineMacro')(Js('\\lArr'), Js('\\Leftarrow')) - var.get('defineMacro')(Js('\\Larr'), Js('\\Leftarrow')) - var.get('defineMacro')(Js('\\lrarr'), Js('\\leftrightarrow')) - var.get('defineMacro')(Js('\\lrArr'), Js('\\Leftrightarrow')) - var.get('defineMacro')(Js('\\Lrarr'), Js('\\Leftrightarrow')) - var.get('defineMacro')(Js('\\Mu'), Js('\\mathrm{M}')) - var.get('defineMacro')(Js('\\natnums'), Js('\\mathbb{N}')) - var.get('defineMacro')(Js('\\Nu'), Js('\\mathrm{N}')) - var.get('defineMacro')(Js('\\Omicron'), Js('\\mathrm{O}')) - var.get('defineMacro')(Js('\\plusmn'), Js('\\pm')) - var.get('defineMacro')(Js('\\rarr'), Js('\\rightarrow')) - var.get('defineMacro')(Js('\\rArr'), Js('\\Rightarrow')) - var.get('defineMacro')(Js('\\Rarr'), Js('\\Rightarrow')) - var.get('defineMacro')(Js('\\real'), Js('\\Re')) - var.get('defineMacro')(Js('\\reals'), Js('\\mathbb{R}')) - var.get('defineMacro')(Js('\\Reals'), Js('\\mathbb{R}')) - var.get('defineMacro')(Js('\\Rho'), Js('\\mathrm{P}')) - var.get('defineMacro')(Js('\\sdot'), Js('\\cdot')) - var.get('defineMacro')(Js('\\sect'), Js('\\S')) - var.get('defineMacro')(Js('\\spades'), Js('\\spadesuit')) - var.get('defineMacro')(Js('\\sub'), Js('\\subset')) - var.get('defineMacro')(Js('\\sube'), Js('\\subseteq')) - var.get('defineMacro')(Js('\\supe'), Js('\\supseteq')) - var.get('defineMacro')(Js('\\Tau'), Js('\\mathrm{T}')) - var.get('defineMacro')(Js('\\thetasym'), Js('\\vartheta')) - var.get('defineMacro')(Js('\\weierp'), Js('\\wp')) - var.get('defineMacro')(Js('\\Zeta'), Js('\\mathrm{Z}')) - var.get('defineMacro')(Js('\\argmin'), Js('\\DOTSB\\mathop{\\operatorname{arg\\,min}}\\limits')) - var.get('defineMacro')(Js('\\argmax'), Js('\\DOTSB\\mathop{\\operatorname{arg\\,max}}\\limits')) - var.get('defineMacro')(Js('\\blue'), Js('\\textcolor{##6495ed}{#1}')) - var.get('defineMacro')(Js('\\orange'), Js('\\textcolor{##ffa500}{#1}')) - var.get('defineMacro')(Js('\\pink'), Js('\\textcolor{##ff00af}{#1}')) - var.get('defineMacro')(Js('\\red'), Js('\\textcolor{##df0030}{#1}')) - var.get('defineMacro')(Js('\\green'), Js('\\textcolor{##28ae7b}{#1}')) - var.get('defineMacro')(Js('\\gray'), Js('\\textcolor{gray}{##1}')) - var.get('defineMacro')(Js('\\purple'), Js('\\textcolor{##9d38bd}{#1}')) - var.get('defineMacro')(Js('\\blueA'), Js('\\textcolor{##ccfaff}{#1}')) - var.get('defineMacro')(Js('\\blueB'), Js('\\textcolor{##80f6ff}{#1}')) - var.get('defineMacro')(Js('\\blueC'), Js('\\textcolor{##63d9ea}{#1}')) - var.get('defineMacro')(Js('\\blueD'), Js('\\textcolor{##11accd}{#1}')) - var.get('defineMacro')(Js('\\blueE'), Js('\\textcolor{##0c7f99}{#1}')) - var.get('defineMacro')(Js('\\tealA'), Js('\\textcolor{##94fff5}{#1}')) - var.get('defineMacro')(Js('\\tealB'), Js('\\textcolor{##26edd5}{#1}')) - var.get('defineMacro')(Js('\\tealC'), Js('\\textcolor{##01d1c1}{#1}')) - var.get('defineMacro')(Js('\\tealD'), Js('\\textcolor{##01a995}{#1}')) - var.get('defineMacro')(Js('\\tealE'), Js('\\textcolor{##208170}{#1}')) - var.get('defineMacro')(Js('\\greenA'), Js('\\textcolor{##b6ffb0}{#1}')) - var.get('defineMacro')(Js('\\greenB'), Js('\\textcolor{##8af281}{#1}')) - var.get('defineMacro')(Js('\\greenC'), Js('\\textcolor{##74cf70}{#1}')) - var.get('defineMacro')(Js('\\greenD'), Js('\\textcolor{##1fab54}{#1}')) - var.get('defineMacro')(Js('\\greenE'), Js('\\textcolor{##0d923f}{#1}')) - var.get('defineMacro')(Js('\\goldA'), Js('\\textcolor{##ffd0a9}{#1}')) - var.get('defineMacro')(Js('\\goldB'), Js('\\textcolor{##ffbb71}{#1}')) - var.get('defineMacro')(Js('\\goldC'), Js('\\textcolor{##ff9c39}{#1}')) - var.get('defineMacro')(Js('\\goldD'), Js('\\textcolor{##e07d10}{#1}')) - var.get('defineMacro')(Js('\\goldE'), Js('\\textcolor{##a75a05}{#1}')) - var.get('defineMacro')(Js('\\redA'), Js('\\textcolor{##fca9a9}{#1}')) - var.get('defineMacro')(Js('\\redB'), Js('\\textcolor{##ff8482}{#1}')) - var.get('defineMacro')(Js('\\redC'), Js('\\textcolor{##f9685d}{#1}')) - var.get('defineMacro')(Js('\\redD'), Js('\\textcolor{##e84d39}{#1}')) - var.get('defineMacro')(Js('\\redE'), Js('\\textcolor{##bc2612}{#1}')) - var.get('defineMacro')(Js('\\maroonA'), Js('\\textcolor{##ffbde0}{#1}')) - var.get('defineMacro')(Js('\\maroonB'), Js('\\textcolor{##ff92c6}{#1}')) - var.get('defineMacro')(Js('\\maroonC'), Js('\\textcolor{##ed5fa6}{#1}')) - var.get('defineMacro')(Js('\\maroonD'), Js('\\textcolor{##ca337c}{#1}')) - var.get('defineMacro')(Js('\\maroonE'), Js('\\textcolor{##9e034e}{#1}')) - var.get('defineMacro')(Js('\\purpleA'), Js('\\textcolor{##ddd7ff}{#1}')) - var.get('defineMacro')(Js('\\purpleB'), Js('\\textcolor{##c6b9fc}{#1}')) - var.get('defineMacro')(Js('\\purpleC'), Js('\\textcolor{##aa87ff}{#1}')) - var.get('defineMacro')(Js('\\purpleD'), Js('\\textcolor{##7854ab}{#1}')) - var.get('defineMacro')(Js('\\purpleE'), Js('\\textcolor{##543b78}{#1}')) - var.get('defineMacro')(Js('\\mintA'), Js('\\textcolor{##f5f9e8}{#1}')) - var.get('defineMacro')(Js('\\mintB'), Js('\\textcolor{##edf2df}{#1}')) - var.get('defineMacro')(Js('\\mintC'), Js('\\textcolor{##e0e5cc}{#1}')) - var.get('defineMacro')(Js('\\grayA'), Js('\\textcolor{##f6f7f7}{#1}')) - var.get('defineMacro')(Js('\\grayB'), Js('\\textcolor{##f0f1f2}{#1}')) - var.get('defineMacro')(Js('\\grayC'), Js('\\textcolor{##e3e5e6}{#1}')) - var.get('defineMacro')(Js('\\grayD'), Js('\\textcolor{##d6d8da}{#1}')) - var.get('defineMacro')(Js('\\grayE'), Js('\\textcolor{##babec2}{#1}')) - var.get('defineMacro')(Js('\\grayF'), Js('\\textcolor{##888d93}{#1}')) - var.get('defineMacro')(Js('\\grayG'), Js('\\textcolor{##626569}{#1}')) - var.get('defineMacro')(Js('\\grayH'), Js('\\textcolor{##3b3e40}{#1}')) - var.get('defineMacro')(Js('\\grayI'), Js('\\textcolor{##21242c}{#1}')) - var.get('defineMacro')(Js('\\kaBlue'), Js('\\textcolor{##314453}{#1}')) - var.get('defineMacro')(Js('\\kaGreen'), Js('\\textcolor{##71B307}{#1}')) + def PyJs_makeVerb_417_(group, this, arguments, var=var): + var = Scope({'group':group, 'this':this, 'arguments':arguments, 'makeVerb':PyJs_makeVerb_417_}, var) + var.registers(['group']) + return var.get('group').get('body').callprop('replace', JsRegExp('/ /g'), (Js('␣') if var.get('group').get('star') else Js('\xa0'))) + PyJs_makeVerb_417_._set_name('makeVerb') + var.put('makeVerb', PyJs_makeVerb_417_) + pass + var.put('functions', var.get('_functions')) + var.put('src_functions', var.get('functions')) + pass + @Js + def PyJs_anonymous_418_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['SourceLocation']) + @Js + def PyJsHoisted_SourceLocation_(lexer, start, end, this, arguments, var=var): + var = Scope({'lexer':lexer, 'start':start, 'end':end, 'this':this, 'arguments':arguments}, var) + var.registers(['lexer', 'start', 'end']) + var.get(u"this").put('lexer', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('start', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('end', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('lexer', var.get('lexer')) + var.get(u"this").put('start', var.get('start')) + var.get(u"this").put('end', var.get('end')) + PyJsHoisted_SourceLocation_.func_name = 'SourceLocation' + var.put('SourceLocation', PyJsHoisted_SourceLocation_) + pass + @Js + def PyJs_range_419_(first, second, this, arguments, var=var): + var = Scope({'first':first, 'second':second, 'this':this, 'arguments':arguments, 'range':PyJs_range_419_}, var) + var.registers(['second', 'first']) + if var.get('second').neg(): + return (var.get('first') and var.get('first').get('loc')) + else: + if (((var.get('first').neg() or var.get('first').get('loc').neg()) or var.get('second').get('loc').neg()) or PyJsStrictNeq(var.get('first').get('loc').get('lexer'),var.get('second').get('loc').get('lexer'))): + return var.get(u"null") + else: + return var.get('SourceLocation').create(var.get('first').get('loc').get('lexer'), var.get('first').get('loc').get('start'), var.get('second').get('loc').get('end')) + PyJs_range_419_._set_name('range') + var.get('SourceLocation').put('range', PyJs_range_419_) + return var.get('SourceLocation') + PyJs_anonymous_418_._set_name('anonymous') + var.put('SourceLocation', PyJs_anonymous_418_()) + pass + @Js + def PyJs_anonymous_420_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Token', '_proto']) + @Js + def PyJsHoisted_Token_(text, loc, this, arguments, var=var): + var = Scope({'text':text, 'loc':loc, 'this':this, 'arguments':arguments}, var) + var.registers(['loc', 'text']) + var.get(u"this").put('text', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('loc', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('noexpand', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('treatAsRelax', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('text', var.get('text')) + var.get(u"this").put('loc', var.get('loc')) + PyJsHoisted_Token_.func_name = 'Token' + var.put('Token', PyJsHoisted_Token_) + pass + var.put('_proto', var.get('Token').get('prototype')) + @Js + def PyJs_range_421_(endToken, text, this, arguments, var=var): + var = Scope({'endToken':endToken, 'text':text, 'this':this, 'arguments':arguments, 'range':PyJs_range_421_}, var) + var.registers(['text', 'endToken']) + return var.get('Token').create(var.get('text'), var.get('SourceLocation').callprop('range', var.get(u"this"), var.get('endToken'))) + PyJs_range_421_._set_name('range') + var.get('_proto').put('range', PyJs_range_421_) + return var.get('Token') + PyJs_anonymous_420_._set_name('anonymous') + var.put('Token', PyJs_anonymous_420_()) + pass + var.put('spaceRegexString', Js('[ \r\n\t]')) + var.put('controlWordRegexString', Js('\\\\[a-zA-Z@]+')) + var.put('controlSymbolRegexString', Js('\\\\[^\ud800-\udfff]')) + var.put('controlWordWhitespaceRegexString', ((((Js('(')+var.get('controlWordRegexString'))+Js(')'))+var.get('spaceRegexString'))+Js('*'))) + var.put('controlSpaceRegexString', Js('\\\\(\n|[ \r\t]+\n?)[ \r\t]*')) + var.put('combiningDiacriticalMarkString', Js('[̀-ͯ]')) + var.put('combiningDiacriticalMarksEndRegex', var.get('RegExp').create((var.get('combiningDiacriticalMarkString')+Js('+$')))) + def PyJs_LONG_422_(var=var): + return ((((((((((Js('(')+var.get('spaceRegexString'))+Js('+)|'))+(var.get('controlSpaceRegexString')+Js('|')))+Js('([!-\\[\\]-‧\u202a-\ud7ff豈-\uffff]'))+(var.get('combiningDiacriticalMarkString')+Js('*')))+Js('|[\ud800-\udbff][\udc00-\udfff]'))+(var.get('combiningDiacriticalMarkString')+Js('*')))+Js('|\\\\verb\\*([^]).*?\\4'))+Js('|\\\\verb([^*a-zA-Z]).*?\\5'))+(Js('|')+var.get('controlWordWhitespaceRegexString'))) + var.put('tokenRegexString', (PyJs_LONG_422_()+((Js('|')+var.get('controlSymbolRegexString'))+Js(')')))) + @Js + def PyJs_anonymous_423_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['Lexer', '_proto']) + @Js + def PyJsHoisted_Lexer_(input, settings, this, arguments, var=var): + var = Scope({'input':input, 'settings':settings, 'this':this, 'arguments':arguments}, var) + var.registers(['settings', 'input']) + var.get(u"this").put('input', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('settings', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('tokenRegex', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('catcodes', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('input', var.get('input')) + var.get(u"this").put('settings', var.get('settings')) + var.get(u"this").put('tokenRegex', var.get('RegExp').create(var.get('tokenRegexString'), Js('g'))) + var.get(u"this").put('catcodes', Js({'%':Js(14.0),'~':Js(13.0)})) + PyJsHoisted_Lexer_.func_name = 'Lexer' + var.put('Lexer', PyJsHoisted_Lexer_) + pass + var.put('_proto', var.get('Lexer').get('prototype')) + @Js + def PyJs_setCatcode_424_(char, code, this, arguments, var=var): + var = Scope({'char':char, 'code':code, 'this':this, 'arguments':arguments, 'setCatcode':PyJs_setCatcode_424_}, var) + var.registers(['char', 'code']) + var.get(u"this").get('catcodes').put(var.get('char'), var.get('code')) + PyJs_setCatcode_424_._set_name('setCatcode') + var.get('_proto').put('setCatcode', PyJs_setCatcode_424_) + @Js + def PyJs_lex_425_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'lex':PyJs_lex_425_}, var) + var.registers(['nlIndex', 'input', 'text', 'pos', 'match']) + var.put('input', var.get(u"this").get('input')) + var.put('pos', var.get(u"this").get('tokenRegex').get('lastIndex')) + if PyJsStrictEq(var.get('pos'),var.get('input').get('length')): + return var.get('Token').create(Js('EOF'), var.get('SourceLocation').create(var.get(u"this"), var.get('pos'), var.get('pos'))) + var.put('match', var.get(u"this").get('tokenRegex').callprop('exec', var.get('input'))) + if (PyJsStrictEq(var.get('match'),var.get(u"null")) or PyJsStrictNeq(var.get('match').get('index'),var.get('pos'))): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js("Unexpected character: '")+var.get('input').get(var.get('pos')))+Js("'")), var.get('Token').create(var.get('input').get(var.get('pos')), var.get('SourceLocation').create(var.get(u"this"), var.get('pos'), (var.get('pos')+Js(1.0)))))) + raise PyJsTempException + var.put('text', ((var.get('match').get('6') or var.get('match').get('3')) or (Js('\\ ') if var.get('match').get('2') else Js(' ')))) + if PyJsStrictEq(var.get(u"this").get('catcodes').get(var.get('text')),Js(14.0)): + var.put('nlIndex', var.get('input').callprop('indexOf', Js('\n'), var.get(u"this").get('tokenRegex').get('lastIndex'))) + if PyJsStrictEq(var.get('nlIndex'),(-Js(1.0))): + var.get(u"this").get('tokenRegex').put('lastIndex', var.get('input').get('length')) + var.get(u"this").get('settings').callprop('reportNonstrict', Js('commentAtEnd'), (Js('% comment has no terminating newline; LaTeX would ')+Js('fail because of commenting the end of math mode (e.g. $)'))) + else: + var.get(u"this").get('tokenRegex').put('lastIndex', (var.get('nlIndex')+Js(1.0))) + return var.get(u"this").callprop('lex') + return var.get('Token').create(var.get('text'), var.get('SourceLocation').create(var.get(u"this"), var.get('pos'), var.get(u"this").get('tokenRegex').get('lastIndex'))) + PyJs_lex_425_._set_name('lex') + var.get('_proto').put('lex', PyJs_lex_425_) + return var.get('Lexer') + PyJs_anonymous_423_._set_name('anonymous') + var.put('Lexer', PyJs_anonymous_423_()) + pass + @Js + def PyJs_anonymous_426_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments}, var) + var.registers(['_proto', 'Namespace']) + @Js + def PyJsHoisted_Namespace_(builtins, globalMacros, this, arguments, var=var): + var = Scope({'builtins':builtins, 'globalMacros':globalMacros, 'this':this, 'arguments':arguments}, var) + var.registers(['builtins', 'globalMacros']) + if PyJsStrictEq(var.get('builtins'),PyJsComma(Js(0.0), Js(None))): + var.put('builtins', Js({})) + if PyJsStrictEq(var.get('globalMacros'),PyJsComma(Js(0.0), Js(None))): + var.put('globalMacros', Js({})) + var.get(u"this").put('current', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('builtins', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('undefStack', PyJsComma(Js(0.0), Js(None))) + var.get(u"this").put('current', var.get('globalMacros')) + var.get(u"this").put('builtins', var.get('builtins')) + var.get(u"this").put('undefStack', Js([])) + PyJsHoisted_Namespace_.func_name = 'Namespace' + var.put('Namespace', PyJsHoisted_Namespace_) + pass + var.put('_proto', var.get('Namespace').get('prototype')) + @Js + def PyJs_beginGroup_427_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'beginGroup':PyJs_beginGroup_427_}, var) + var.registers([]) + var.get(u"this").get('undefStack').callprop('push', Js({})) + PyJs_beginGroup_427_._set_name('beginGroup') + var.get('_proto').put('beginGroup', PyJs_beginGroup_427_) + @Js + def PyJs_endGroup_428_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'endGroup':PyJs_endGroup_428_}, var) + var.registers(['undef', 'undefs']) + if PyJsStrictEq(var.get(u"this").get('undefStack').get('length'),Js(0.0)): + PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Unbalanced namespace destruction: attempt ')+Js('to pop global namespace; please report this as a bug')))) + raise PyJsTempException + var.put('undefs', var.get(u"this").get('undefStack').callprop('pop')) + for PyJsTemp in var.get('undefs'): + var.put('undef', PyJsTemp) + if var.get('undefs').callprop('hasOwnProperty', var.get('undef')): + if PyJsStrictEq(var.get('undefs').get(var.get('undef')),var.get('undefined')): + var.get(u"this").get('current').delete(var.get('undef')) + else: + var.get(u"this").get('current').put(var.get('undef'), var.get('undefs').get(var.get('undef'))) + PyJs_endGroup_428_._set_name('endGroup') + var.get('_proto').put('endGroup', PyJs_endGroup_428_) + @Js + def PyJs_has_429_(name, this, arguments, var=var): + var = Scope({'name':name, 'this':this, 'arguments':arguments, 'has':PyJs_has_429_}, var) + var.registers(['name']) + return (var.get(u"this").get('current').callprop('hasOwnProperty', var.get('name')) or var.get(u"this").get('builtins').callprop('hasOwnProperty', var.get('name'))) + PyJs_has_429_._set_name('has') + var.get('_proto').put('has', PyJs_has_429_) + @Js + def PyJs_get_430_(name, this, arguments, var=var): + var = Scope({'name':name, 'this':this, 'arguments':arguments, 'get':PyJs_get_430_}, var) + var.registers(['name']) + if var.get(u"this").get('current').callprop('hasOwnProperty', var.get('name')): + return var.get(u"this").get('current').get(var.get('name')) + else: + return var.get(u"this").get('builtins').get(var.get('name')) + PyJs_get_430_._set_name('get') + var.get('_proto').put('get', PyJs_get_430_) + @Js + def PyJs_set_431_(name, value, PyJsArg_676c6f62616c_, this, arguments, var=var): + var = Scope({'name':name, 'value':value, 'global':PyJsArg_676c6f62616c_, 'this':this, 'arguments':arguments, 'set':PyJs_set_431_}, var) + var.registers(['global', 'name', 'value', 'i', 'top']) + if PyJsStrictEq(var.get('global'),PyJsComma(Js(0.0), Js(None))): + var.put('global', Js(False)) + if var.get('global'): + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')Js(0.0)): + var.get(u"this").get('undefStack').get((var.get(u"this").get('undefStack').get('length')-Js(1.0))).put(var.get('name'), var.get('value')) + else: + var.put('top', var.get(u"this").get('undefStack').get((var.get(u"this").get('undefStack').get('length')-Js(1.0)))) + if (var.get('top') and var.get('top').callprop('hasOwnProperty', var.get('name')).neg()): + var.get('top').put(var.get('name'), var.get(u"this").get('current').get(var.get('name'))) + var.get(u"this").get('current').put(var.get('name'), var.get('value')) + PyJs_set_431_._set_name('set') + var.get('_proto').put('set', PyJs_set_431_) + return var.get('Namespace') + PyJs_anonymous_426_._set_name('anonymous') + var.put('Namespace', PyJs_anonymous_426_()) + pass var.put('implicitCommands', Js({'\\relax':Js(True),'^':Js(True),'_':Js(True),'\\limits':Js(True),'\\nolimits':Js(True)})) @Js - def PyJs_anonymous_371_(this, arguments, var=var): + def PyJs_anonymous_432_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) var.registers(['_proto', 'MacroExpander']) @Js def PyJsHoisted_MacroExpander_(input, settings, mode, this, arguments, var=var): var = Scope({'input':input, 'settings':settings, 'mode':mode, 'this':this, 'arguments':arguments}, var) - var.registers(['input', 'settings', 'mode']) + var.registers(['settings', 'input', 'mode']) var.get(u"this").put('settings', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('expansionCount', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('lexer', PyJsComma(Js(0.0), Js(None))) @@ -7599,7 +8782,7 @@ def PyJsHoisted_MacroExpander_(input, settings, mode, this, arguments, var=var): var.get(u"this").put('settings', var.get('settings')) var.get(u"this").put('expansionCount', Js(0.0)) var.get(u"this").callprop('feed', var.get('input')) - var.get(u"this").put('macros', var.get('Namespace_Namespace').create(var.get('macros'), var.get('settings').get('macros'))) + var.get(u"this").put('macros', var.get('Namespace').create(var.get('macros'), var.get('settings').get('macros'))) var.get(u"this").put('mode', var.get('mode')) var.get(u"this").put('stack', Js([])) PyJsHoisted_MacroExpander_.func_name = 'MacroExpander' @@ -7607,68 +8790,93 @@ def PyJsHoisted_MacroExpander_(input, settings, mode, this, arguments, var=var): pass var.put('_proto', var.get('MacroExpander').get('prototype')) @Js - def PyJs_feed_372_(input, this, arguments, var=var): - var = Scope({'input':input, 'this':this, 'arguments':arguments, 'feed':PyJs_feed_372_}, var) + def PyJs_feed_433_(input, this, arguments, var=var): + var = Scope({'input':input, 'this':this, 'arguments':arguments, 'feed':PyJs_feed_433_}, var) var.registers(['input']) - var.get(u"this").put('lexer', var.get('Lexer_Lexer').create(var.get('input'), var.get(u"this").get('settings'))) - PyJs_feed_372_._set_name('feed') - var.get('_proto').put('feed', PyJs_feed_372_) + var.get(u"this").put('lexer', var.get('Lexer').create(var.get('input'), var.get(u"this").get('settings'))) + PyJs_feed_433_._set_name('feed') + var.get('_proto').put('feed', PyJs_feed_433_) @Js - def PyJs_switchMode_373_(newMode, this, arguments, var=var): - var = Scope({'newMode':newMode, 'this':this, 'arguments':arguments, 'switchMode':PyJs_switchMode_373_}, var) + def PyJs_switchMode_434_(newMode, this, arguments, var=var): + var = Scope({'newMode':newMode, 'this':this, 'arguments':arguments, 'switchMode':PyJs_switchMode_434_}, var) var.registers(['newMode']) var.get(u"this").put('mode', var.get('newMode')) - PyJs_switchMode_373_._set_name('switchMode') - var.get('_proto').put('switchMode', PyJs_switchMode_373_) + PyJs_switchMode_434_._set_name('switchMode') + var.get('_proto').put('switchMode', PyJs_switchMode_434_) @Js - def PyJs_beginGroup_374_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'beginGroup':PyJs_beginGroup_374_}, var) + def PyJs_beginGroup_435_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'beginGroup':PyJs_beginGroup_435_}, var) var.registers([]) var.get(u"this").get('macros').callprop('beginGroup') - PyJs_beginGroup_374_._set_name('beginGroup') - var.get('_proto').put('beginGroup', PyJs_beginGroup_374_) + PyJs_beginGroup_435_._set_name('beginGroup') + var.get('_proto').put('beginGroup', PyJs_beginGroup_435_) @Js - def PyJs_endGroup_375_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'endGroup':PyJs_endGroup_375_}, var) + def PyJs_endGroup_436_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'endGroup':PyJs_endGroup_436_}, var) var.registers([]) var.get(u"this").get('macros').callprop('endGroup') - PyJs_endGroup_375_._set_name('endGroup') - var.get('_proto').put('endGroup', PyJs_endGroup_375_) + PyJs_endGroup_436_._set_name('endGroup') + var.get('_proto').put('endGroup', PyJs_endGroup_436_) @Js - def PyJs_future_376_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'future':PyJs_future_376_}, var) + def PyJs_future_437_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'future':PyJs_future_437_}, var) var.registers([]) if PyJsStrictEq(var.get(u"this").get('stack').get('length'),Js(0.0)): var.get(u"this").callprop('pushToken', var.get(u"this").get('lexer').callprop('lex')) return var.get(u"this").get('stack').get((var.get(u"this").get('stack').get('length')-Js(1.0))) - PyJs_future_376_._set_name('future') - var.get('_proto').put('future', PyJs_future_376_) + PyJs_future_437_._set_name('future') + var.get('_proto').put('future', PyJs_future_437_) @Js - def PyJs_popToken_377_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'popToken':PyJs_popToken_377_}, var) + def PyJs_popToken_438_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'popToken':PyJs_popToken_438_}, var) var.registers([]) var.get(u"this").callprop('future') return var.get(u"this").get('stack').callprop('pop') - PyJs_popToken_377_._set_name('popToken') - var.get('_proto').put('popToken', PyJs_popToken_377_) + PyJs_popToken_438_._set_name('popToken') + var.get('_proto').put('popToken', PyJs_popToken_438_) @Js - def PyJs_pushToken_378_(token, this, arguments, var=var): - var = Scope({'token':token, 'this':this, 'arguments':arguments, 'pushToken':PyJs_pushToken_378_}, var) + def PyJs_pushToken_439_(token, this, arguments, var=var): + var = Scope({'token':token, 'this':this, 'arguments':arguments, 'pushToken':PyJs_pushToken_439_}, var) var.registers(['token']) var.get(u"this").get('stack').callprop('push', var.get('token')) - PyJs_pushToken_378_._set_name('pushToken') - var.get('_proto').put('pushToken', PyJs_pushToken_378_) + PyJs_pushToken_439_._set_name('pushToken') + var.get('_proto').put('pushToken', PyJs_pushToken_439_) @Js - def PyJs_pushTokens_379_(tokens, this, arguments, var=var): - var = Scope({'tokens':tokens, 'this':this, 'arguments':arguments, 'pushTokens':PyJs_pushTokens_379_}, var) - var.registers(['tokens', '_this$stack']) + def PyJs_pushTokens_440_(tokens, this, arguments, var=var): + var = Scope({'tokens':tokens, 'this':this, 'arguments':arguments, 'pushTokens':PyJs_pushTokens_440_}, var) + var.registers(['_this$stack', 'tokens']) pass var.put('_this$stack', var.get(u"this").get('stack')).get('push').callprop('apply', var.get('_this$stack'), var.get('tokens')) - PyJs_pushTokens_379_._set_name('pushTokens') - var.get('_proto').put('pushTokens', PyJs_pushTokens_379_) + PyJs_pushTokens_440_._set_name('pushTokens') + var.get('_proto').put('pushTokens', PyJs_pushTokens_440_) + @Js + def PyJs_scanArgument_441_(isOptional, this, arguments, var=var): + var = Scope({'isOptional':isOptional, 'this':this, 'arguments':arguments, 'scanArgument':PyJs_scanArgument_441_}, var) + var.registers(['_this$consumeArg2', 'isOptional', 'tokens', 'end', '_this$consumeArg', 'start']) + pass + pass + pass + if var.get('isOptional'): + var.get(u"this").callprop('consumeSpaces') + if PyJsStrictNeq(var.get(u"this").callprop('future').get('text'),Js('[')): + return var.get(u"null") + var.put('start', var.get(u"this").callprop('popToken')) + var.put('_this$consumeArg', var.get(u"this").callprop('consumeArg', Js([Js(']')]))) + var.put('tokens', var.get('_this$consumeArg').get('tokens')) + var.put('end', var.get('_this$consumeArg').get('end')) + else: + var.put('_this$consumeArg2', var.get(u"this").callprop('consumeArg')) + var.put('tokens', var.get('_this$consumeArg2').get('tokens')) + var.put('start', var.get('_this$consumeArg2').get('start')) + var.put('end', var.get('_this$consumeArg2').get('end')) + var.get(u"this").callprop('pushToken', var.get('Token').create(Js('EOF'), var.get('end').get('loc'))) + var.get(u"this").callprop('pushTokens', var.get('tokens')) + return var.get('start').callprop('range', var.get('end'), Js('')) + PyJs_scanArgument_441_._set_name('scanArgument') + var.get('_proto').put('scanArgument', PyJs_scanArgument_441_) @Js - def PyJs_consumeSpaces_380_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'consumeSpaces':PyJs_consumeSpaces_380_}, var) + def PyJs_consumeSpaces_442_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'consumeSpaces':PyJs_consumeSpaces_442_}, var) var.registers(['token']) #for JS loop @@ -7679,56 +8887,93 @@ def PyJs_consumeSpaces_380_(this, arguments, var=var): else: break - PyJs_consumeSpaces_380_._set_name('consumeSpaces') - var.get('_proto').put('consumeSpaces', PyJs_consumeSpaces_380_) - @Js - def PyJs_consumeArgs_381_(numArgs, this, arguments, var=var): - var = Scope({'numArgs':numArgs, 'this':this, 'arguments':arguments, 'consumeArgs':PyJs_consumeArgs_381_}, var) - var.registers(['i', 'depth', 'startOfArg', 'arg', 'args', 'numArgs', 'tok']) + PyJs_consumeSpaces_442_._set_name('consumeSpaces') + var.get('_proto').put('consumeSpaces', PyJs_consumeSpaces_442_) + @Js + def PyJs_consumeArg_443_(delims, this, arguments, var=var): + var = Scope({'delims':delims, 'this':this, 'arguments':arguments, 'consumeArg':PyJs_consumeArg_443_}, var) + var.registers(['tok', 'depth', 'isDelimited', 'delims', 'tokens', 'start', 'match']) + var.put('tokens', Js([])) + var.put('isDelimited', (var.get('delims') and (var.get('delims').get('length')>Js(0.0)))) + if var.get('isDelimited').neg(): + var.get(u"this").callprop('consumeSpaces') + var.put('start', var.get(u"this").callprop('future')) + pass + var.put('depth', Js(0.0)) + var.put('match', Js(0.0)) + while 1: + var.put('tok', var.get(u"this").callprop('popToken')) + var.get('tokens').callprop('push', var.get('tok')) + if PyJsStrictEq(var.get('tok').get('text'),Js('{')): + var.put('depth',Js(var.get('depth').to_number())+Js(1)) + else: + if PyJsStrictEq(var.get('tok').get('text'),Js('}')): + var.put('depth',Js(var.get('depth').to_number())-Js(1)) + if PyJsStrictEq(var.get('depth'),(-Js(1.0))): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Extra }'), var.get('tok'))) + raise PyJsTempException + else: + if PyJsStrictEq(var.get('tok').get('text'),Js('EOF')): + PyJsTempException = JsToPyException(var.get('src_ParseError').create((((Js('Unexpected end of input in a macro argument')+Js(", expected '"))+(var.get('delims').get(var.get('match')) if (var.get('delims') and var.get('isDelimited')) else Js('}')))+Js("'")), var.get('tok'))) + raise PyJsTempException + if (var.get('delims') and var.get('isDelimited')): + if ((PyJsStrictEq(var.get('depth'),Js(0.0)) or (PyJsStrictEq(var.get('depth'),Js(1.0)) and PyJsStrictEq(var.get('delims').get(var.get('match')),Js('{')))) and PyJsStrictEq(var.get('tok').get('text'),var.get('delims').get(var.get('match')))): + var.put('match',Js(var.get('match').to_number())+Js(1)) + if PyJsStrictEq(var.get('match'),var.get('delims').get('length')): + var.get('tokens').callprop('splice', (-var.get('match')), var.get('match')) + break + else: + var.put('match', Js(0.0)) + if not (PyJsStrictNeq(var.get('depth'),Js(0.0)) or var.get('isDelimited')): + break + if (PyJsStrictEq(var.get('start').get('text'),Js('{')) and PyJsStrictEq(var.get('tokens').get((var.get('tokens').get('length')-Js(1.0))).get('text'),Js('}'))): + var.get('tokens').callprop('pop') + var.get('tokens').callprop('shift') + var.get('tokens').callprop('reverse') + return Js({'tokens':var.get('tokens'),'start':var.get('start'),'end':var.get('tok')}) + PyJs_consumeArg_443_._set_name('consumeArg') + var.get('_proto').put('consumeArg', PyJs_consumeArg_443_) + @Js + def PyJs_consumeArgs_444_(numArgs, delimiters, this, arguments, var=var): + var = Scope({'numArgs':numArgs, 'delimiters':delimiters, 'this':this, 'arguments':arguments, 'consumeArgs':PyJs_consumeArgs_444_}, var) + var.registers(['_i', 'tok', 'delims', 'i', 'numArgs', 'delimiters', 'args']) + if var.get('delimiters'): + if PyJsStrictNeq(var.get('delimiters').get('length'),(var.get('numArgs')+Js(1.0))): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js("The length of delimiters doesn't match the number of args!"))) + raise PyJsTempException + var.put('delims', var.get('delimiters').get('0')) + #for JS loop + var.put('i', Js(0.0)) + while (var.get('i')var.get('oldStackLength')): - var.put('expanded', var.get(u"this").callprop('expandOnce')) - if var.get('expanded').instanceof(var.get('Token_Token')): + var.put('expanded', var.get(u"this").callprop('expandOnce', Js(True))) + if var.get('expanded').instanceof(var.get('Token')): + if var.get('expanded').get('treatAsRelax'): + var.get('expanded').put('noexpand', Js(False)) + var.get('expanded').put('treatAsRelax', Js(False)) var.get('output').callprop('push', var.get(u"this").get('stack').callprop('pop')) return var.get('output') - PyJs_expandMacro_385_._set_name('expandMacro') - var.get('_proto').put('expandMacro', PyJs_expandMacro_385_) + PyJs_expandTokens_449_._set_name('expandTokens') + var.get('_proto').put('expandTokens', PyJs_expandTokens_449_) @Js - def PyJs_expandMacroAsText_386_(name, this, arguments, var=var): - var = Scope({'name':name, 'this':this, 'arguments':arguments, 'expandMacroAsText':PyJs_expandMacroAsText_386_}, var) - var.registers(['tokens', 'name']) + def PyJs_expandMacroAsText_450_(name, this, arguments, var=var): + var = Scope({'name':name, 'this':this, 'arguments':arguments, 'expandMacroAsText':PyJs_expandMacroAsText_450_}, var) + var.registers(['name', 'tokens']) var.put('tokens', var.get(u"this").callprop('expandMacro', var.get('name'))) if var.get('tokens'): @Js - def PyJs_anonymous_387_(token, this, arguments, var=var): + def PyJs_anonymous_451_(token, this, arguments, var=var): var = Scope({'token':token, 'this':this, 'arguments':arguments}, var) var.registers(['token']) return var.get('token').get('text') - PyJs_anonymous_387_._set_name('anonymous') - return var.get('tokens').callprop('map', PyJs_anonymous_387_).callprop('join', Js('')) + PyJs_anonymous_451_._set_name('anonymous') + return var.get('tokens').callprop('map', PyJs_anonymous_451_).callprop('join', Js('')) else: return var.get('tokens') - PyJs_expandMacroAsText_386_._set_name('expandMacroAsText') - var.get('_proto').put('expandMacroAsText', PyJs_expandMacroAsText_386_) + PyJs_expandMacroAsText_450_._set_name('expandMacroAsText') + var.get('_proto').put('expandMacroAsText', PyJs_expandMacroAsText_450_) @Js - def PyJs__getExpansion_388_(name, this, arguments, var=var): - var = Scope({'name':name, 'this':this, 'arguments':arguments, '_getExpansion':PyJs__getExpansion_388_}, var) - var.registers(['expanded', 'bodyLexer', 'tokens', 'definition', 'expansion', 'name', 'numArgs', 'stripped', 'tok']) + def PyJs__getExpansion_452_(name, this, arguments, var=var): + var = Scope({'name':name, 'this':this, 'arguments':arguments, '_getExpansion':PyJs__getExpansion_452_}, var) + var.registers(['stripped', 'tok', 'catcode', 'name', 'tokens', 'expansion', 'definition', 'bodyLexer', 'expanded', 'numArgs']) var.put('definition', var.get(u"this").get('macros').callprop('get', var.get('name'))) if (var.get('definition')==var.get(u"null")): return var.get('definition') + if PyJsStrictEq(var.get('name').get('length'),Js(1.0)): + var.put('catcode', var.get(u"this").get('lexer').get('catcodes').get(var.get('name'))) + if ((var.get('catcode')!=var.get(u"null")) and PyJsStrictNeq(var.get('catcode'),Js(13.0))): + return var.get('undefined') var.put('expansion', (var.get('definition')(var.get(u"this")) if PyJsStrictEq(var.get('definition',throw=False).typeof(),Js('function')) else var.get('definition'))) if PyJsStrictEq(var.get('expansion',throw=False).typeof(),Js('string')): var.put('numArgs', Js(0.0)) @@ -7837,7 +9094,7 @@ def PyJs__getExpansion_388_(name, this, arguments, var=var): var.put('stripped', var.get('expansion').callprop('replace', JsRegExp('/##/g'), Js(''))) while PyJsStrictNeq(var.get('stripped').callprop('indexOf', (Js('#')+(var.get('numArgs')+Js(1.0)))),(-Js(1.0))): var.put('numArgs',Js(var.get('numArgs').to_number())+Js(1)) - var.put('bodyLexer', var.get('Lexer_Lexer').create(var.get('expansion'), var.get(u"this").get('settings'))) + var.put('bodyLexer', var.get('Lexer').create(var.get('expansion'), var.get(u"this").get('settings'))) var.put('tokens', Js([])) var.put('tok', var.get('bodyLexer').callprop('lex')) while PyJsStrictNeq(var.get('tok').get('text'),Js('EOF')): @@ -7847,35 +9104,44 @@ def PyJs__getExpansion_388_(name, this, arguments, var=var): var.put('expanded', Js({'tokens':var.get('tokens'),'numArgs':var.get('numArgs')})) return var.get('expanded') return var.get('expansion') - PyJs__getExpansion_388_._set_name('_getExpansion') - var.get('_proto').put('_getExpansion', PyJs__getExpansion_388_) + PyJs__getExpansion_452_._set_name('_getExpansion') + var.get('_proto').put('_getExpansion', PyJs__getExpansion_452_) @Js - def PyJs_isDefined_389_(name, this, arguments, var=var): - var = Scope({'name':name, 'this':this, 'arguments':arguments, 'isDefined':PyJs_isDefined_389_}, var) + def PyJs_isDefined_453_(name, this, arguments, var=var): + var = Scope({'name':name, 'this':this, 'arguments':arguments, 'isDefined':PyJs_isDefined_453_}, var) var.registers(['name']) return ((((var.get(u"this").get('macros').callprop('has', var.get('name')) or var.get('src_functions').callprop('hasOwnProperty', var.get('name'))) or var.get('src_symbols').get('math').callprop('hasOwnProperty', var.get('name'))) or var.get('src_symbols').get('text').callprop('hasOwnProperty', var.get('name'))) or var.get('implicitCommands').callprop('hasOwnProperty', var.get('name'))) - PyJs_isDefined_389_._set_name('isDefined') - var.get('_proto').put('isDefined', PyJs_isDefined_389_) + PyJs_isDefined_453_._set_name('isDefined') + var.get('_proto').put('isDefined', PyJs_isDefined_453_) + @Js + def PyJs_isExpandable_454_(name, this, arguments, var=var): + var = Scope({'name':name, 'this':this, 'arguments':arguments, 'isExpandable':PyJs_isExpandable_454_}, var) + var.registers(['name', 'macro']) + var.put('macro', var.get(u"this").get('macros').callprop('get', var.get('name'))) + return (((PyJsStrictEq(var.get('macro',throw=False).typeof(),Js('string')) or PyJsStrictEq(var.get('macro',throw=False).typeof(),Js('function'))) or var.get('macro').get('unexpandable').neg()) if (var.get('macro')!=var.get(u"null")) else (var.get('src_functions').callprop('hasOwnProperty', var.get('name')) and var.get('src_functions').get(var.get('name')).get('primitive').neg())) + PyJs_isExpandable_454_._set_name('isExpandable') + var.get('_proto').put('isExpandable', PyJs_isExpandable_454_) return var.get('MacroExpander') - PyJs_anonymous_371_._set_name('anonymous') - var.put('MacroExpander_MacroExpander', PyJs_anonymous_371_()) + PyJs_anonymous_432_._set_name('anonymous') + var.put('MacroExpander', PyJs_anonymous_432_()) + pass var.put('unicodeAccents', Js({'́':Js({'text':Js("\\'"),'math':Js('\\acute')}),'̀':Js({'text':Js('\\`'),'math':Js('\\grave')}),'̈':Js({'text':Js('\\"'),'math':Js('\\ddot')}),'̃':Js({'text':Js('\\~'),'math':Js('\\tilde')}),'̄':Js({'text':Js('\\='),'math':Js('\\bar')}),'̆':Js({'text':Js('\\u'),'math':Js('\\breve')}),'̌':Js({'text':Js('\\v'),'math':Js('\\check')}),'̂':Js({'text':Js('\\^'),'math':Js('\\hat')}),'̇':Js({'text':Js('\\.'),'math':Js('\\dot')}),'̊':Js({'text':Js('\\r'),'math':Js('\\mathring')}),'̋':Js({'text':Js('\\H')})})) var.put('unicodeSymbols', Js({'á':Js('á'),'à':Js('à'),'ä':Js('ä'),'ǟ':Js('ǟ'),'ã':Js('ã'),'ā':Js('ā'),'ă':Js('ă'),'ắ':Js('ắ'),'ằ':Js('ằ'),'ẵ':Js('ẵ'),'ǎ':Js('ǎ'),'â':Js('â'),'ấ':Js('ấ'),'ầ':Js('ầ'),'ẫ':Js('ẫ'),'ȧ':Js('ȧ'),'ǡ':Js('ǡ'),'å':Js('å'),'ǻ':Js('ǻ'),'ḃ':Js('ḃ'),'ć':Js('ć'),'č':Js('č'),'ĉ':Js('ĉ'),'ċ':Js('ċ'),'ď':Js('ď'),'ḋ':Js('ḋ'),'é':Js('é'),'è':Js('è'),'ë':Js('ë'),'ẽ':Js('ẽ'),'ē':Js('ē'),'ḗ':Js('ḗ'),'ḕ':Js('ḕ'),'ĕ':Js('ĕ'),'ě':Js('ě'),'ê':Js('ê'),'ế':Js('ế'),'ề':Js('ề'),'ễ':Js('ễ'),'ė':Js('ė'),'ḟ':Js('ḟ'),'ǵ':Js('ǵ'),'ḡ':Js('ḡ'),'ğ':Js('ğ'),'ǧ':Js('ǧ'),'ĝ':Js('ĝ'),'ġ':Js('ġ'),'ḧ':Js('ḧ'),'ȟ':Js('ȟ'),'ĥ':Js('ĥ'),'ḣ':Js('ḣ'),'í':Js('í'),'ì':Js('ì'),'ï':Js('ï'),'ḯ':Js('ḯ'),'ĩ':Js('ĩ'),'ī':Js('ī'),'ĭ':Js('ĭ'),'ǐ':Js('ǐ'),'î':Js('î'),'ǰ':Js('ǰ'),'ĵ':Js('ĵ'),'ḱ':Js('ḱ'),'ǩ':Js('ǩ'),'ĺ':Js('ĺ'),'ľ':Js('ľ'),'ḿ':Js('ḿ'),'ṁ':Js('ṁ'),'ń':Js('ń'),'ǹ':Js('ǹ'),'ñ':Js('ñ'),'ň':Js('ň'),'ṅ':Js('ṅ'),'ó':Js('ó'),'ò':Js('ò'),'ö':Js('ö'),'ȫ':Js('ȫ'),'õ':Js('õ'),'ṍ':Js('ṍ'),'ṏ':Js('ṏ'),'ȭ':Js('ȭ'),'ō':Js('ō'),'ṓ':Js('ṓ'),'ṑ':Js('ṑ'),'ŏ':Js('ŏ'),'ǒ':Js('ǒ'),'ô':Js('ô'),'ố':Js('ố'),'ồ':Js('ồ'),'ỗ':Js('ỗ'),'ȯ':Js('ȯ'),'ȱ':Js('ȱ'),'ő':Js('ő'),'ṕ':Js('ṕ'),'ṗ':Js('ṗ'),'ŕ':Js('ŕ'),'ř':Js('ř'),'ṙ':Js('ṙ'),'ś':Js('ś'),'ṥ':Js('ṥ'),'š':Js('š'),'ṧ':Js('ṧ'),'ŝ':Js('ŝ'),'ṡ':Js('ṡ'),'ẗ':Js('ẗ'),'ť':Js('ť'),'ṫ':Js('ṫ'),'ú':Js('ú'),'ù':Js('ù'),'ü':Js('ü'),'ǘ':Js('ǘ'),'ǜ':Js('ǜ'),'ǖ':Js('ǖ'),'ǚ':Js('ǚ'),'ũ':Js('ũ'),'ṹ':Js('ṹ'),'ū':Js('ū'),'ṻ':Js('ṻ'),'ŭ':Js('ŭ'),'ǔ':Js('ǔ'),'û':Js('û'),'ů':Js('ů'),'ű':Js('ű'),'ṽ':Js('ṽ'),'ẃ':Js('ẃ'),'ẁ':Js('ẁ'),'ẅ':Js('ẅ'),'ŵ':Js('ŵ'),'ẇ':Js('ẇ'),'ẘ':Js('ẘ'),'ẍ':Js('ẍ'),'ẋ':Js('ẋ'),'ý':Js('ý'),'ỳ':Js('ỳ'),'ÿ':Js('ÿ'),'ỹ':Js('ỹ'),'ȳ':Js('ȳ'),'ŷ':Js('ŷ'),'ẏ':Js('ẏ'),'ẙ':Js('ẙ'),'ź':Js('ź'),'ž':Js('ž'),'ẑ':Js('ẑ'),'ż':Js('ż'),'Á':Js('Á'),'À':Js('À'),'Ä':Js('Ä'),'Ǟ':Js('Ǟ'),'Ã':Js('Ã'),'Ā':Js('Ā'),'Ă':Js('Ă'),'Ắ':Js('Ắ'),'Ằ':Js('Ằ'),'Ẵ':Js('Ẵ'),'Ǎ':Js('Ǎ'),'Â':Js('Â'),'Ấ':Js('Ấ'),'Ầ':Js('Ầ'),'Ẫ':Js('Ẫ'),'Ȧ':Js('Ȧ'),'Ǡ':Js('Ǡ'),'Å':Js('Å'),'Ǻ':Js('Ǻ'),'Ḃ':Js('Ḃ'),'Ć':Js('Ć'),'Č':Js('Č'),'Ĉ':Js('Ĉ'),'Ċ':Js('Ċ'),'Ď':Js('Ď'),'Ḋ':Js('Ḋ'),'É':Js('É'),'È':Js('È'),'Ë':Js('Ë'),'Ẽ':Js('Ẽ'),'Ē':Js('Ē'),'Ḗ':Js('Ḗ'),'Ḕ':Js('Ḕ'),'Ĕ':Js('Ĕ'),'Ě':Js('Ě'),'Ê':Js('Ê'),'Ế':Js('Ế'),'Ề':Js('Ề'),'Ễ':Js('Ễ'),'Ė':Js('Ė'),'Ḟ':Js('Ḟ'),'Ǵ':Js('Ǵ'),'Ḡ':Js('Ḡ'),'Ğ':Js('Ğ'),'Ǧ':Js('Ǧ'),'Ĝ':Js('Ĝ'),'Ġ':Js('Ġ'),'Ḧ':Js('Ḧ'),'Ȟ':Js('Ȟ'),'Ĥ':Js('Ĥ'),'Ḣ':Js('Ḣ'),'Í':Js('Í'),'Ì':Js('Ì'),'Ï':Js('Ï'),'Ḯ':Js('Ḯ'),'Ĩ':Js('Ĩ'),'Ī':Js('Ī'),'Ĭ':Js('Ĭ'),'Ǐ':Js('Ǐ'),'Î':Js('Î'),'İ':Js('İ'),'Ĵ':Js('Ĵ'),'Ḱ':Js('Ḱ'),'Ǩ':Js('Ǩ'),'Ĺ':Js('Ĺ'),'Ľ':Js('Ľ'),'Ḿ':Js('Ḿ'),'Ṁ':Js('Ṁ'),'Ń':Js('Ń'),'Ǹ':Js('Ǹ'),'Ñ':Js('Ñ'),'Ň':Js('Ň'),'Ṅ':Js('Ṅ'),'Ó':Js('Ó'),'Ò':Js('Ò'),'Ö':Js('Ö'),'Ȫ':Js('Ȫ'),'Õ':Js('Õ'),'Ṍ':Js('Ṍ'),'Ṏ':Js('Ṏ'),'Ȭ':Js('Ȭ'),'Ō':Js('Ō'),'Ṓ':Js('Ṓ'),'Ṑ':Js('Ṑ'),'Ŏ':Js('Ŏ'),'Ǒ':Js('Ǒ'),'Ô':Js('Ô'),'Ố':Js('Ố'),'Ồ':Js('Ồ'),'Ỗ':Js('Ỗ'),'Ȯ':Js('Ȯ'),'Ȱ':Js('Ȱ'),'Ő':Js('Ő'),'Ṕ':Js('Ṕ'),'Ṗ':Js('Ṗ'),'Ŕ':Js('Ŕ'),'Ř':Js('Ř'),'Ṙ':Js('Ṙ'),'Ś':Js('Ś'),'Ṥ':Js('Ṥ'),'Š':Js('Š'),'Ṧ':Js('Ṧ'),'Ŝ':Js('Ŝ'),'Ṡ':Js('Ṡ'),'Ť':Js('Ť'),'Ṫ':Js('Ṫ'),'Ú':Js('Ú'),'Ù':Js('Ù'),'Ü':Js('Ü'),'Ǘ':Js('Ǘ'),'Ǜ':Js('Ǜ'),'Ǖ':Js('Ǖ'),'Ǚ':Js('Ǚ'),'Ũ':Js('Ũ'),'Ṹ':Js('Ṹ'),'Ū':Js('Ū'),'Ṻ':Js('Ṻ'),'Ŭ':Js('Ŭ'),'Ǔ':Js('Ǔ'),'Û':Js('Û'),'Ů':Js('Ů'),'Ű':Js('Ű'),'Ṽ':Js('Ṽ'),'Ẃ':Js('Ẃ'),'Ẁ':Js('Ẁ'),'Ẅ':Js('Ẅ'),'Ŵ':Js('Ŵ'),'Ẇ':Js('Ẇ'),'Ẍ':Js('Ẍ'),'Ẋ':Js('Ẋ'),'Ý':Js('Ý'),'Ỳ':Js('Ỳ'),'Ÿ':Js('Ÿ'),'Ỹ':Js('Ỹ'),'Ȳ':Js('Ȳ'),'Ŷ':Js('Ŷ'),'Ẏ':Js('Ẏ'),'Ź':Js('Ź'),'Ž':Js('Ž'),'Ẑ':Js('Ẑ'),'Ż':Js('Ż'),'ά':Js('ά'),'ὰ':Js('ὰ'),'ᾱ':Js('ᾱ'),'ᾰ':Js('ᾰ'),'έ':Js('έ'),'ὲ':Js('ὲ'),'ή':Js('ή'),'ὴ':Js('ὴ'),'ί':Js('ί'),'ὶ':Js('ὶ'),'ϊ':Js('ϊ'),'ΐ':Js('ΐ'),'ῒ':Js('ῒ'),'ῑ':Js('ῑ'),'ῐ':Js('ῐ'),'ό':Js('ό'),'ὸ':Js('ὸ'),'ύ':Js('ύ'),'ὺ':Js('ὺ'),'ϋ':Js('ϋ'),'ΰ':Js('ΰ'),'ῢ':Js('ῢ'),'ῡ':Js('ῡ'),'ῠ':Js('ῠ'),'ώ':Js('ώ'),'ὼ':Js('ὼ'),'Ύ':Js('Ύ'),'Ὺ':Js('Ὺ'),'Ϋ':Js('Ϋ'),'Ῡ':Js('Ῡ'),'Ῠ':Js('Ῠ'),'Ώ':Js('Ώ'),'Ὼ':Js('Ὼ')})) @Js - def PyJs_anonymous_390_(this, arguments, var=var): + def PyJs_anonymous_455_(this, arguments, var=var): var = Scope({'this':this, 'arguments':arguments}, var) - var.registers(['Parser', '_proto']) + var.registers(['_proto', 'Parser']) @Js def PyJsHoisted_Parser_(input, settings, this, arguments, var=var): var = Scope({'input':input, 'settings':settings, 'this':this, 'arguments':arguments}, var) - var.registers(['input', 'settings']) + var.registers(['settings', 'input']) var.get(u"this").put('mode', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('gullet', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('settings', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('leftrightDepth', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('nextToken', PyJsComma(Js(0.0), Js(None))) var.get(u"this").put('mode', Js('math')) - var.get(u"this").put('gullet', var.get('MacroExpander_MacroExpander').create(var.get('input'), var.get('settings'), var.get(u"this").get('mode'))) + var.get(u"this").put('gullet', var.get('MacroExpander').create(var.get('input'), var.get('settings'), var.get(u"this").get('mode'))) var.get(u"this").put('settings', var.get('settings')) var.get(u"this").put('leftrightDepth', Js(0.0)) PyJsHoisted_Parser_.func_name = 'Parser' @@ -7883,56 +9149,66 @@ def PyJsHoisted_Parser_(input, settings, this, arguments, var=var): pass var.put('_proto', var.get('Parser').get('prototype')) @Js - def PyJs_expect_391_(text, consume, this, arguments, var=var): - var = Scope({'text':text, 'consume':consume, 'this':this, 'arguments':arguments, 'expect':PyJs_expect_391_}, var) - var.registers(['text', 'consume']) + def PyJs_expect_456_(text, consume, this, arguments, var=var): + var = Scope({'text':text, 'consume':consume, 'this':this, 'arguments':arguments, 'expect':PyJs_expect_456_}, var) + var.registers(['consume', 'text']) if PyJsStrictEq(var.get('consume'),PyJsComma(Js(0.0), Js(None))): var.put('consume', Js(True)) - if PyJsStrictNeq(var.get(u"this").get('nextToken').get('text'),var.get('text')): - PyJsTempException = JsToPyException(var.get('src_ParseError').create(((((Js("Expected '")+var.get('text'))+Js("', got '"))+var.get(u"this").get('nextToken').get('text'))+Js("'")), var.get(u"this").get('nextToken'))) + if PyJsStrictNeq(var.get(u"this").callprop('fetch').get('text'),var.get('text')): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(((((Js("Expected '")+var.get('text'))+Js("', got '"))+var.get(u"this").callprop('fetch').get('text'))+Js("'")), var.get(u"this").callprop('fetch'))) raise PyJsTempException if var.get('consume'): var.get(u"this").callprop('consume') - PyJs_expect_391_._set_name('expect') - var.get('_proto').put('expect', PyJs_expect_391_) + PyJs_expect_456_._set_name('expect') + var.get('_proto').put('expect', PyJs_expect_456_) @Js - def PyJs_consume_392_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'consume':PyJs_consume_392_}, var) + def PyJs_consume_457_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'consume':PyJs_consume_457_}, var) var.registers([]) - var.get(u"this").put('nextToken', var.get(u"this").get('gullet').callprop('expandNextToken')) - PyJs_consume_392_._set_name('consume') - var.get('_proto').put('consume', PyJs_consume_392_) + var.get(u"this").put('nextToken', var.get(u"null")) + PyJs_consume_457_._set_name('consume') + var.get('_proto').put('consume', PyJs_consume_457_) @Js - def PyJs_switchMode_393_(newMode, this, arguments, var=var): - var = Scope({'newMode':newMode, 'this':this, 'arguments':arguments, 'switchMode':PyJs_switchMode_393_}, var) + def PyJs_fetch_458_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'fetch':PyJs_fetch_458_}, var) + var.registers([]) + if (var.get(u"this").get('nextToken')==var.get(u"null")): + var.get(u"this").put('nextToken', var.get(u"this").get('gullet').callprop('expandNextToken')) + return var.get(u"this").get('nextToken') + PyJs_fetch_458_._set_name('fetch') + var.get('_proto').put('fetch', PyJs_fetch_458_) + @Js + def PyJs_switchMode_459_(newMode, this, arguments, var=var): + var = Scope({'newMode':newMode, 'this':this, 'arguments':arguments, 'switchMode':PyJs_switchMode_459_}, var) var.registers(['newMode']) var.get(u"this").put('mode', var.get('newMode')) var.get(u"this").get('gullet').callprop('switchMode', var.get('newMode')) - PyJs_switchMode_393_._set_name('switchMode') - var.get('_proto').put('switchMode', PyJs_switchMode_393_) + PyJs_switchMode_459_._set_name('switchMode') + var.get('_proto').put('switchMode', PyJs_switchMode_459_) @Js - def PyJs_parse_394_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'parse':PyJs_parse_394_}, var) + def PyJs_parse_460_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'parse':PyJs_parse_460_}, var) var.registers(['parse']) - var.get(u"this").get('gullet').callprop('beginGroup') + if var.get(u"this").get('settings').get('globalGroup').neg(): + var.get(u"this").get('gullet').callprop('beginGroup') if var.get(u"this").get('settings').get('colorIsTextColor'): var.get(u"this").get('gullet').get('macros').callprop('set', Js('\\color'), Js('\\textcolor')) - var.get(u"this").callprop('consume') var.put('parse', var.get(u"this").callprop('parseExpression', Js(False))) - var.get(u"this").callprop('expect', Js('EOF'), Js(False)) - var.get(u"this").get('gullet').callprop('endGroup') + var.get(u"this").callprop('expect', Js('EOF')) + if var.get(u"this").get('settings').get('globalGroup').neg(): + var.get(u"this").get('gullet').callprop('endGroup') return var.get('parse') - PyJs_parse_394_._set_name('parse') - var.get('_proto').put('parse', PyJs_parse_394_) + PyJs_parse_460_._set_name('parse') + var.get('_proto').put('parse', PyJs_parse_460_) @Js - def PyJs_parseExpression_395_(breakOnInfix, breakOnTokenText, this, arguments, var=var): - var = Scope({'breakOnInfix':breakOnInfix, 'breakOnTokenText':breakOnTokenText, 'this':this, 'arguments':arguments, 'parseExpression':PyJs_parseExpression_395_}, var) - var.registers(['breakOnTokenText', 'breakOnInfix', 'atom', 'body', 'lex']) + def PyJs_parseExpression_461_(breakOnInfix, breakOnTokenText, this, arguments, var=var): + var = Scope({'breakOnInfix':breakOnInfix, 'breakOnTokenText':breakOnTokenText, 'this':this, 'arguments':arguments, 'parseExpression':PyJs_parseExpression_461_}, var) + var.registers(['breakOnInfix', 'body', 'breakOnTokenText', 'atom', 'lex']) var.put('body', Js([])) while Js(True): if PyJsStrictEq(var.get(u"this").get('mode'),Js('math')): var.get(u"this").callprop('consumeSpaces') - var.put('lex', var.get(u"this").get('nextToken')) + var.put('lex', var.get(u"this").callprop('fetch')) if PyJsStrictNeq(var.get('Parser').get('endOfExpression').callprop('indexOf', var.get('lex').get('text')),(-Js(1.0))): break if (var.get('breakOnTokenText') and PyJsStrictEq(var.get('lex').get('text'),var.get('breakOnTokenText'))): @@ -7942,29 +9218,31 @@ def PyJs_parseExpression_395_(breakOnInfix, breakOnTokenText, this, arguments, v var.put('atom', var.get(u"this").callprop('parseAtom', var.get('breakOnTokenText'))) if var.get('atom').neg(): break + else: + if PyJsStrictEq(var.get('atom').get('type'),Js('internal')): + continue var.get('body').callprop('push', var.get('atom')) if PyJsStrictEq(var.get(u"this").get('mode'),Js('text')): var.get(u"this").callprop('formLigatures', var.get('body')) return var.get(u"this").callprop('handleInfixNodes', var.get('body')) - PyJs_parseExpression_395_._set_name('parseExpression') - var.get('_proto').put('parseExpression', PyJs_parseExpression_395_) + PyJs_parseExpression_461_._set_name('parseExpression') + var.get('_proto').put('parseExpression', PyJs_parseExpression_461_) @Js - def PyJs_handleInfixNodes_396_(body, this, arguments, var=var): - var = Scope({'body':body, 'this':this, 'arguments':arguments, 'handleInfixNodes':PyJs_handleInfixNodes_396_}, var) - var.registers(['funcName', 'denomNode', 'i', 'numerBody', 'body', 'node', 'numerNode', 'overIndex', '_node', 'denomBody']) + def PyJs_handleInfixNodes_462_(body, this, arguments, var=var): + var = Scope({'body':body, 'this':this, 'arguments':arguments, 'handleInfixNodes':PyJs_handleInfixNodes_462_}, var) + var.registers(['overIndex', 'denomNode', 'node', 'body', 'numerBody', 'i', 'funcName', 'numerNode', 'denomBody']) var.put('overIndex', (-Js(1.0))) pass #for JS loop var.put('i', Js(0.0)) while (var.get('i')Js(0.0)) and var.get('isOptional').neg()): - var.get(u"this").callprop('consumeSpaces') - if ((PyJsStrictEq(var.get('i'),Js(0.0)) and var.get('isOptional').neg()) and PyJsStrictEq(var.get(u"this").get('mode'),Js('math'))): - var.get(u"this").callprop('consumeSpaces') - var.put('nextToken', var.get(u"this").get('nextToken')) - var.put('arg', var.get(u"this").callprop('parseGroupOfType', ((Js("argument to '")+var.get('func'))+Js("'")), var.get('argType'), var.get('isOptional'), var.get('baseGreediness'))) - if var.get('arg').neg(): - if var.get('isOptional'): - var.get('optArgs').callprop('push', var.get(u"null")) - continue - PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js("Expected group after '")+var.get('func'))+Js("'")), var.get('nextToken'))) - raise PyJsTempException - (var.get('optArgs') if var.get('isOptional') else var.get('args')).callprop('push', var.get('arg')) + if ((var.get('funcData').get('primitive') and (var.get('argType')==var.get(u"null"))) or ((PyJsStrictEq(var.get('funcData').get('type'),Js('sqrt')) and PyJsStrictEq(var.get('i'),Js(1.0))) and (var.get('optArgs').get('0')==var.get(u"null")))): + var.put('argType', Js('primitive')) + var.put('arg', var.get(u"this").callprop('parseGroupOfType', ((Js("argument to '")+var.get('func'))+Js("'")), var.get('argType'), var.get('isOptional'))) + if var.get('isOptional'): + var.get('optArgs').callprop('push', var.get('arg')) + else: + if (var.get('arg')!=var.get(u"null")): + var.get('args').callprop('push', var.get('arg')) + else: + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Null argument, please report this as a bug'))) + raise PyJsTempException finally: (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) return Js({'args':var.get('args'),'optArgs':var.get('optArgs')}) - PyJs_parseArguments_402_._set_name('parseArguments') - var.get('_proto').put('parseArguments', PyJs_parseArguments_402_) + PyJs_parseArguments_468_._set_name('parseArguments') + var.get('_proto').put('parseArguments', PyJs_parseArguments_468_) @Js - def PyJs_parseGroupOfType_403_(name, type, optional, greediness, this, arguments, var=var): - var = Scope({'name':name, 'type':type, 'optional':optional, 'greediness':greediness, 'this':this, 'arguments':arguments, 'parseGroupOfType':PyJs_parseGroupOfType_403_}, var) - var.registers(['greediness', 'type', 'optional', 'name', 'token']) + def PyJs_parseGroupOfType_469_(name, type, optional, this, arguments, var=var): + var = Scope({'name':name, 'type':type, 'optional':optional, 'this':this, 'arguments':arguments, 'parseGroupOfType':PyJs_parseGroupOfType_469_}, var) + var.registers(['token', '_group', 'name', 'group', 'type', 'optional']) while 1: SWITCHED = False CONDITION = (var.get('type')) @@ -8183,17 +9451,25 @@ def PyJs_parseGroupOfType_403_(name, type, optional, greediness, this, arguments pass if SWITCHED or PyJsStrictEq(CONDITION, Js('text')): SWITCHED = True - return var.get(u"this").callprop('parseGroup', var.get('name'), var.get('optional'), var.get('greediness'), var.get('undefined'), var.get('type')) + return var.get(u"this").callprop('parseArgumentGroup', var.get('optional'), var.get('type')) + if SWITCHED or PyJsStrictEq(CONDITION, Js('hbox')): + SWITCHED = True + var.put('group', var.get(u"this").callprop('parseArgumentGroup', var.get('optional'), Js('text'))) + return (Js({'type':Js('styling'),'mode':var.get('group').get('mode'),'body':Js([var.get('group')]),'style':Js('text')}) if (var.get('group')!=var.get(u"null")) else var.get(u"null")) if SWITCHED or PyJsStrictEq(CONDITION, Js('raw')): SWITCHED = True - if (var.get('optional') and PyJsStrictEq(var.get(u"this").get('nextToken').get('text'),Js('{'))): - return var.get(u"null") - var.put('token', var.get(u"this").callprop('parseStringGroup', Js('raw'), var.get('optional'), Js(True))) - if var.get('token'): - return Js({'type':Js('raw'),'mode':Js('text'),'string':var.get('token').get('text')}) - else: - PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('Expected raw group'), var.get(u"this").get('nextToken'))) + var.put('token', var.get(u"this").callprop('parseStringGroup', Js('raw'), var.get('optional'))) + return (Js({'type':Js('raw'),'mode':Js('text'),'string':var.get('token').get('text')}) if (var.get('token')!=var.get(u"null")) else var.get(u"null")) + if SWITCHED or PyJsStrictEq(CONDITION, Js('primitive')): + SWITCHED = True + if var.get('optional'): + PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('A primitive argument cannot be optional'))) + raise PyJsTempException + var.put('_group', var.get(u"this").callprop('parseGroup', var.get('name'))) + if (var.get('_group')==var.get(u"null")): + PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Expected group as ')+var.get('name')), var.get(u"this").callprop('fetch'))) raise PyJsTempException + return var.get('_group') if SWITCHED or PyJsStrictEq(CONDITION, Js('original')): SWITCHED = True pass @@ -8202,98 +9478,64 @@ def PyJs_parseGroupOfType_403_(name, type, optional, greediness, this, arguments pass if SWITCHED or PyJsStrictEq(CONDITION, var.get('undefined')): SWITCHED = True - return var.get(u"this").callprop('parseGroup', var.get('name'), var.get('optional'), var.get('greediness')) + return var.get(u"this").callprop('parseArgumentGroup', var.get('optional')) if True: SWITCHED = True - PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Unknown group type as ')+var.get('name')), var.get(u"this").get('nextToken'))) + PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Unknown group type as ')+var.get('name')), var.get(u"this").callprop('fetch'))) raise PyJsTempException SWITCHED = True break - PyJs_parseGroupOfType_403_._set_name('parseGroupOfType') - var.get('_proto').put('parseGroupOfType', PyJs_parseGroupOfType_403_) + PyJs_parseGroupOfType_469_._set_name('parseGroupOfType') + var.get('_proto').put('parseGroupOfType', PyJs_parseGroupOfType_469_) @Js - def PyJs_consumeSpaces_404_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'consumeSpaces':PyJs_consumeSpaces_404_}, var) + def PyJs_consumeSpaces_470_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'consumeSpaces':PyJs_consumeSpaces_470_}, var) var.registers([]) - while PyJsStrictEq(var.get(u"this").get('nextToken').get('text'),Js(' ')): + while PyJsStrictEq(var.get(u"this").callprop('fetch').get('text'),Js(' ')): var.get(u"this").callprop('consume') - PyJs_consumeSpaces_404_._set_name('consumeSpaces') - var.get('_proto').put('consumeSpaces', PyJs_consumeSpaces_404_) - @Js - def PyJs_parseStringGroup_405_(modeName, optional, raw, this, arguments, var=var): - var = Scope({'modeName':modeName, 'optional':optional, 'raw':raw, 'this':this, 'arguments':arguments, 'parseStringGroup':PyJs_parseStringGroup_405_}, var) - var.registers(['groupEnd', 'optional', 'nested', 'modeName', 'outerMode', 'str', 'firstToken', 'lastToken', 'nextToken', 'raw', 'groupBegin']) - var.put('groupBegin', (Js('[') if var.get('optional') else Js('{'))) - var.put('groupEnd', (Js(']') if var.get('optional') else Js('}'))) - var.put('nextToken', var.get(u"this").get('nextToken')) - if PyJsStrictNeq(var.get('nextToken').get('text'),var.get('groupBegin')): - if var.get('optional'): - return var.get(u"null") - else: - if ((var.get('raw') and PyJsStrictNeq(var.get('nextToken').get('text'),Js('EOF'))) and JsRegExp('/[^{}[\\]]/').callprop('test', var.get('nextToken').get('text'))): - var.get(u"this").get('gullet').get('lexer').callprop('setCatcode', Js('%'), Js(14.0)) - var.get(u"this").callprop('consume') - return var.get('nextToken') - var.put('outerMode', var.get(u"this").get('mode')) - var.get(u"this").put('mode', Js('text')) - var.get(u"this").callprop('expect', var.get('groupBegin')) + PyJs_consumeSpaces_470_._set_name('consumeSpaces') + var.get('_proto').put('consumeSpaces', PyJs_consumeSpaces_470_) + @Js + def PyJs_parseStringGroup_471_(modeName, optional, this, arguments, var=var): + var = Scope({'modeName':modeName, 'optional':optional, 'this':this, 'arguments':arguments, 'parseStringGroup':PyJs_parseStringGroup_471_}, var) + var.registers(['argToken', 'nextToken', 'str', 'optional', 'modeName']) + var.put('argToken', var.get(u"this").get('gullet').callprop('scanArgument', var.get('optional'))) + if (var.get('argToken')==var.get(u"null")): + return var.get(u"null") var.put('str', Js('')) - var.put('firstToken', var.get(u"this").get('nextToken')) - var.put('nested', Js(0.0)) - var.put('lastToken', var.get('firstToken')) - while ((var.get('raw') and (var.get('nested')>Js(0.0))) or PyJsStrictNeq(var.get(u"this").get('nextToken').get('text'),var.get('groupEnd'))): - while 1: - SWITCHED = False - CONDITION = (var.get(u"this").get('nextToken').get('text')) - if SWITCHED or PyJsStrictEq(CONDITION, Js('EOF')): - SWITCHED = True - PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Unexpected end of input in ')+var.get('modeName')), var.get('firstToken').callprop('range', var.get('lastToken'), var.get('str')))) - raise PyJsTempException - if SWITCHED or PyJsStrictEq(CONDITION, var.get('groupBegin')): - SWITCHED = True - (var.put('nested',Js(var.get('nested').to_number())+Js(1))-Js(1)) - break - if SWITCHED or PyJsStrictEq(CONDITION, var.get('groupEnd')): - SWITCHED = True - (var.put('nested',Js(var.get('nested').to_number())-Js(1))+Js(1)) - break - SWITCHED = True - break - var.put('lastToken', var.get(u"this").get('nextToken')) - var.put('str', var.get('lastToken').get('text'), '+') + pass + while PyJsStrictNeq(var.put('nextToken', var.get(u"this").callprop('fetch')).get('text'),Js('EOF')): + var.put('str', var.get('nextToken').get('text'), '+') var.get(u"this").callprop('consume') - var.get(u"this").put('mode', var.get('outerMode')) - var.get(u"this").get('gullet').get('lexer').callprop('setCatcode', Js('%'), Js(14.0)) - var.get(u"this").callprop('expect', var.get('groupEnd')) - return var.get('firstToken').callprop('range', var.get('lastToken'), var.get('str')) - PyJs_parseStringGroup_405_._set_name('parseStringGroup') - var.get('_proto').put('parseStringGroup', PyJs_parseStringGroup_405_) - @Js - def PyJs_parseRegexGroup_406_(regex, modeName, this, arguments, var=var): - var = Scope({'regex':regex, 'modeName':modeName, 'this':this, 'arguments':arguments, 'parseRegexGroup':PyJs_parseRegexGroup_406_}, var) - var.registers(['regex', 'modeName', 'outerMode', 'str', 'firstToken', 'lastToken']) - var.put('outerMode', var.get(u"this").get('mode')) - var.get(u"this").put('mode', Js('text')) - var.put('firstToken', var.get(u"this").get('nextToken')) + var.get(u"this").callprop('consume') + var.get('argToken').put('text', var.get('str')) + return var.get('argToken') + PyJs_parseStringGroup_471_._set_name('parseStringGroup') + var.get('_proto').put('parseStringGroup', PyJs_parseStringGroup_471_) + @Js + def PyJs_parseRegexGroup_472_(regex, modeName, this, arguments, var=var): + var = Scope({'regex':regex, 'modeName':modeName, 'this':this, 'arguments':arguments, 'parseRegexGroup':PyJs_parseRegexGroup_472_}, var) + var.registers(['nextToken', 'lastToken', 'firstToken', 'str', 'regex', 'modeName']) + var.put('firstToken', var.get(u"this").callprop('fetch')) var.put('lastToken', var.get('firstToken')) var.put('str', Js('')) - while (PyJsStrictNeq(var.get(u"this").get('nextToken').get('text'),Js('EOF')) and var.get('regex').callprop('test', (var.get('str')+var.get(u"this").get('nextToken').get('text')))): - var.put('lastToken', var.get(u"this").get('nextToken')) + pass + while (PyJsStrictNeq(var.put('nextToken', var.get(u"this").callprop('fetch')).get('text'),Js('EOF')) and var.get('regex').callprop('test', (var.get('str')+var.get('nextToken').get('text')))): + var.put('lastToken', var.get('nextToken')) var.put('str', var.get('lastToken').get('text'), '+') var.get(u"this").callprop('consume') if PyJsStrictEq(var.get('str'),Js('')): PyJsTempException = JsToPyException(var.get('src_ParseError').create(((((Js('Invalid ')+var.get('modeName'))+Js(": '"))+var.get('firstToken').get('text'))+Js("'")), var.get('firstToken'))) raise PyJsTempException - var.get(u"this").put('mode', var.get('outerMode')) return var.get('firstToken').callprop('range', var.get('lastToken'), var.get('str')) - PyJs_parseRegexGroup_406_._set_name('parseRegexGroup') - var.get('_proto').put('parseRegexGroup', PyJs_parseRegexGroup_406_) + PyJs_parseRegexGroup_472_._set_name('parseRegexGroup') + var.get('_proto').put('parseRegexGroup', PyJs_parseRegexGroup_472_) @Js - def PyJs_parseColorGroup_407_(optional, this, arguments, var=var): - var = Scope({'optional':optional, 'this':this, 'arguments':arguments, 'parseColorGroup':PyJs_parseColorGroup_407_}, var) - var.registers(['res', 'optional', 'match', 'color']) + def PyJs_parseColorGroup_473_(optional, this, arguments, var=var): + var = Scope({'optional':optional, 'this':this, 'arguments':arguments, 'parseColorGroup':PyJs_parseColorGroup_473_}, var) + var.registers(['optional', 'color', 'res', 'match']) var.put('res', var.get(u"this").callprop('parseStringGroup', Js('color'), var.get('optional'))) - if var.get('res').neg(): + if (var.get('res')==var.get(u"null")): return var.get(u"null") var.put('match', JsRegExp('/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i').callprop('exec', var.get('res').get('text'))) if var.get('match').neg(): @@ -8303,15 +9545,16 @@ def PyJs_parseColorGroup_407_(optional, this, arguments, var=var): if JsRegExp('/^[0-9a-f]{6}$/i').callprop('test', var.get('color')): var.put('color', (Js('#')+var.get('color'))) return Js({'type':Js('color-token'),'mode':var.get(u"this").get('mode'),'color':var.get('color')}) - PyJs_parseColorGroup_407_._set_name('parseColorGroup') - var.get('_proto').put('parseColorGroup', PyJs_parseColorGroup_407_) + PyJs_parseColorGroup_473_._set_name('parseColorGroup') + var.get('_proto').put('parseColorGroup', PyJs_parseColorGroup_473_) @Js - def PyJs_parseSizeGroup_408_(optional, this, arguments, var=var): - var = Scope({'optional':optional, 'this':this, 'arguments':arguments, 'parseSizeGroup':PyJs_parseSizeGroup_408_}, var) - var.registers(['optional', 'data', 'res', 'isBlank', 'match']) + def PyJs_parseSizeGroup_474_(optional, this, arguments, var=var): + var = Scope({'optional':optional, 'this':this, 'arguments':arguments, 'parseSizeGroup':PyJs_parseSizeGroup_474_}, var) + var.registers(['data', 'optional', 'isBlank', 'res', 'match']) pass var.put('isBlank', Js(False)) - if (var.get('optional').neg() and PyJsStrictNeq(var.get(u"this").get('nextToken').get('text'),Js('{'))): + var.get(u"this").get('gullet').callprop('consumeSpaces') + if (var.get('optional').neg() and PyJsStrictNeq(var.get(u"this").get('gullet').callprop('future').get('text'),Js('{'))): var.put('res', var.get(u"this").callprop('parseRegexGroup', JsRegExp('/^[-+]? *(?:$|\\d+|\\d+\\.\\d*|\\.\\d*) *[a-z]{0,2} *$/'), Js('size'))) else: var.put('res', var.get(u"this").callprop('parseStringGroup', Js('size'), var.get('optional'))) @@ -8329,65 +9572,74 @@ def PyJs_parseSizeGroup_408_(optional, this, arguments, var=var): PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js("Invalid unit: '")+var.get('data').get('unit'))+Js("'")), var.get('res'))) raise PyJsTempException return Js({'type':Js('size'),'mode':var.get(u"this").get('mode'),'value':var.get('data'),'isBlank':var.get('isBlank')}) - PyJs_parseSizeGroup_408_._set_name('parseSizeGroup') - var.get('_proto').put('parseSizeGroup', PyJs_parseSizeGroup_408_) - @Js - def PyJs_parseUrlGroup_409_(optional, this, arguments, var=var): - var = Scope({'optional':optional, 'this':this, 'arguments':arguments, 'parseUrlGroup':PyJs_parseUrlGroup_409_}, var) - var.registers(['protocol', 'optional', 'res', 'url', 'allowed']) - var.put('res', var.get(u"this").callprop('parseStringGroup', Js('url'), var.get('optional'), Js(True))) - if var.get('res').neg(): + PyJs_parseSizeGroup_474_._set_name('parseSizeGroup') + var.get('_proto').put('parseSizeGroup', PyJs_parseSizeGroup_474_) + @Js + def PyJs_parseUrlGroup_475_(optional, this, arguments, var=var): + var = Scope({'optional':optional, 'this':this, 'arguments':arguments, 'parseUrlGroup':PyJs_parseUrlGroup_475_}, var) + var.registers(['optional', 'url', 'res']) + var.get(u"this").get('gullet').get('lexer').callprop('setCatcode', Js('%'), Js(13.0)) + var.get(u"this").get('gullet').get('lexer').callprop('setCatcode', Js('~'), Js(12.0)) + var.put('res', var.get(u"this").callprop('parseStringGroup', Js('url'), var.get('optional'))) + var.get(u"this").get('gullet').get('lexer').callprop('setCatcode', Js('%'), Js(14.0)) + var.get(u"this").get('gullet').get('lexer').callprop('setCatcode', Js('~'), Js(13.0)) + if (var.get('res')==var.get(u"null")): return var.get(u"null") var.put('url', var.get('res').get('text').callprop('replace', JsRegExp('/\\\\([#$%&~_^{}])/g'), Js('$1'))) - var.put('protocol', JsRegExp('/^\\s*([^\\\\/#]*?)(?::|�*58|�*3a)/i').callprop('exec', var.get('url'))) - var.put('protocol', (var.get('protocol').get('1') if (var.get('protocol')!=var.get(u"null")) else Js('_relative'))) - var.put('allowed', var.get(u"this").get('settings').get('allowedProtocols')) - if (var.get('utils').callprop('contains', var.get('allowed'), Js('*')).neg() and var.get('utils').callprop('contains', var.get('allowed'), var.get('protocol')).neg()): - PyJsTempException = JsToPyException(var.get('src_ParseError').create(((Js("Forbidden protocol '")+var.get('protocol'))+Js("'")), var.get('res'))) - raise PyJsTempException return Js({'type':Js('url'),'mode':var.get(u"this").get('mode'),'url':var.get('url')}) - PyJs_parseUrlGroup_409_._set_name('parseUrlGroup') - var.get('_proto').put('parseUrlGroup', PyJs_parseUrlGroup_409_) - @Js - def PyJs_parseGroup_410_(name, optional, greediness, breakOnTokenText, mode, this, arguments, var=var): - var = Scope({'name':name, 'optional':optional, 'greediness':greediness, 'breakOnTokenText':breakOnTokenText, 'mode':mode, 'this':this, 'arguments':arguments, 'parseGroup':PyJs_parseGroup_410_}, var) - var.registers(['greediness', 'breakOnTokenText', 'expression', 'groupEnd', 'mode', 'optional', 'text', 'outerMode', 'result', 'firstToken', 'lastToken', 'name']) + PyJs_parseUrlGroup_475_._set_name('parseUrlGroup') + var.get('_proto').put('parseUrlGroup', PyJs_parseUrlGroup_475_) + @Js + def PyJs_parseArgumentGroup_476_(optional, mode, this, arguments, var=var): + var = Scope({'optional':optional, 'mode':mode, 'this':this, 'arguments':arguments, 'parseArgumentGroup':PyJs_parseArgumentGroup_476_}, var) + var.registers(['argToken', 'mode', 'result', 'optional', 'expression', 'outerMode']) + var.put('argToken', var.get(u"this").get('gullet').callprop('scanArgument', var.get('optional'))) + if (var.get('argToken')==var.get(u"null")): + return var.get(u"null") var.put('outerMode', var.get(u"this").get('mode')) - var.put('firstToken', var.get(u"this").get('nextToken')) - var.put('text', var.get('firstToken').get('text')) if var.get('mode'): var.get(u"this").callprop('switchMode', var.get('mode')) + var.get(u"this").get('gullet').callprop('beginGroup') + var.put('expression', var.get(u"this").callprop('parseExpression', Js(False), Js('EOF'))) + var.get(u"this").callprop('expect', Js('EOF')) + var.get(u"this").get('gullet').callprop('endGroup') + var.put('result', Js({'type':Js('ordgroup'),'mode':var.get(u"this").get('mode'),'loc':var.get('argToken').get('loc'),'body':var.get('expression')})) + if var.get('mode'): + var.get(u"this").callprop('switchMode', var.get('outerMode')) + return var.get('result') + PyJs_parseArgumentGroup_476_._set_name('parseArgumentGroup') + var.get('_proto').put('parseArgumentGroup', PyJs_parseArgumentGroup_476_) + @Js + def PyJs_parseGroup_477_(name, breakOnTokenText, this, arguments, var=var): + var = Scope({'name':name, 'breakOnTokenText':breakOnTokenText, 'this':this, 'arguments':arguments, 'parseGroup':PyJs_parseGroup_477_}, var) + var.registers(['groupEnd', 'text', 'lastToken', 'name', 'firstToken', 'result', 'breakOnTokenText', 'expression']) + var.put('firstToken', var.get(u"this").callprop('fetch')) + var.put('text', var.get('firstToken').get('text')) pass - pass - if (PyJsStrictEq(var.get('text'),Js('[')) if var.get('optional') else (PyJsStrictEq(var.get('text'),Js('{')) or PyJsStrictEq(var.get('text'),Js('\\begingroup')))): - var.put('groupEnd', var.get('Parser').get('endOfGroup').get(var.get('text'))) - var.get(u"this").get('gullet').callprop('beginGroup') + if (PyJsStrictEq(var.get('text'),Js('{')) or PyJsStrictEq(var.get('text'),Js('\\begingroup'))): var.get(u"this").callprop('consume') + var.put('groupEnd', (Js('}') if PyJsStrictEq(var.get('text'),Js('{')) else Js('\\endgroup'))) + var.get(u"this").get('gullet').callprop('beginGroup') var.put('expression', var.get(u"this").callprop('parseExpression', Js(False), var.get('groupEnd'))) - var.put('lastToken', var.get(u"this").get('nextToken')) + var.put('lastToken', var.get(u"this").callprop('fetch')) + var.get(u"this").callprop('expect', var.get('groupEnd')) var.get(u"this").get('gullet').callprop('endGroup') var.put('result', Js({'type':Js('ordgroup'),'mode':var.get(u"this").get('mode'),'loc':var.get('SourceLocation').callprop('range', var.get('firstToken'), var.get('lastToken')),'body':var.get('expression'),'semisimple':(PyJsStrictEq(var.get('text'),Js('\\begingroup')) or var.get('undefined'))})) else: - if var.get('optional'): - var.put('result', var.get(u"null")) - else: - var.put('result', (var.get(u"this").callprop('parseFunction', var.get('breakOnTokenText'), var.get('name'), var.get('greediness')) or var.get(u"this").callprop('parseSymbol'))) - if (((var.get('result')==var.get(u"null")) and PyJsStrictEq(var.get('text').get('0'),Js('\\'))) and var.get('implicitCommands').callprop('hasOwnProperty', var.get('text')).neg()): - if var.get(u"this").get('settings').get('throwOnError'): - PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Undefined control sequence: ')+var.get('text')), var.get('firstToken'))) - raise PyJsTempException - var.put('result', var.get(u"this").callprop('handleUnsupportedCmd')) - if var.get('mode'): - var.get(u"this").callprop('switchMode', var.get('outerMode')) - if var.get('groupEnd'): - var.get(u"this").callprop('expect', var.get('groupEnd')) + var.put('result', (var.get(u"this").callprop('parseFunction', var.get('breakOnTokenText'), var.get('name')) or var.get(u"this").callprop('parseSymbol'))) + if (((var.get('result')==var.get(u"null")) and PyJsStrictEq(var.get('text').get('0'),Js('\\'))) and var.get('implicitCommands').callprop('hasOwnProperty', var.get('text')).neg()): + if var.get(u"this").get('settings').get('throwOnError'): + PyJsTempException = JsToPyException(var.get('src_ParseError').create((Js('Undefined control sequence: ')+var.get('text')), var.get('firstToken'))) + raise PyJsTempException + var.put('result', var.get(u"this").callprop('formatUnsupportedCmd', var.get('text'))) + var.get(u"this").callprop('consume') return var.get('result') - PyJs_parseGroup_410_._set_name('parseGroup') - var.get('_proto').put('parseGroup', PyJs_parseGroup_410_) + PyJs_parseGroup_477_._set_name('parseGroup') + var.get('_proto').put('parseGroup', PyJs_parseGroup_477_) @Js - def PyJs_formLigatures_411_(group, this, arguments, var=var): - var = Scope({'group':group, 'this':this, 'arguments':arguments, 'formLigatures':PyJs_formLigatures_411_}, var) - var.registers(['i', 'group', 'a', 'v', 'n']) + def PyJs_formLigatures_478_(group, this, arguments, var=var): + var = Scope({'group':group, 'this':this, 'arguments':arguments, 'formLigatures':PyJs_formLigatures_478_}, var) + var.registers(['group', 'a', 'n', 'v', 'i']) var.put('n', (var.get('group').get('length')-Js(1.0))) #for JS loop var.put('i', Js(0.0)) @@ -8407,13 +9659,13 @@ def PyJs_formLigatures_411_(group, this, arguments, var=var): var.put('n', Js(1.0), '-') finally: var.put('i',Js(var.get('i').to_number())+Js(1)) - PyJs_formLigatures_411_._set_name('formLigatures') - var.get('_proto').put('formLigatures', PyJs_formLigatures_411_) + PyJs_formLigatures_478_._set_name('formLigatures') + var.get('_proto').put('formLigatures', PyJs_formLigatures_478_) @Js - def PyJs_parseSymbol_412_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'parseSymbol':PyJs_parseSymbol_412_}, var) - var.registers(['loc', 'family', 'i', 'nucleus', 's', 'group', 'star', 'text', 'arg', 'symbol', 'accent', 'command', 'match']) - var.put('nucleus', var.get(u"this").get('nextToken')) + def PyJs_parseSymbol_479_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'parseSymbol':PyJs_parseSymbol_479_}, var) + var.registers(['accent', 'loc', 'command', 'text', 'symbol', 'group', 'family', 'arg', 'i', 's', 'nucleus', 'star', 'match']) + var.put('nucleus', var.get(u"this").callprop('fetch')) var.put('text', var.get('nucleus').get('text')) if JsRegExp('/^\\\\verb[^a-zA-Z]/').callprop('test', var.get('text')): var.get(u"this").callprop('consume') @@ -8459,7 +9711,7 @@ def PyJs_parseSymbol_412_(this, arguments, var=var): else: if PyJsStrictEq(var.get(u"this").get('mode'),Js('math')): var.get(u"this").get('settings').callprop('reportNonstrict', Js('unicodeTextInMathMode'), ((Js('Unicode text character "')+var.get('text').get('0'))+Js('" used in math mode')), var.get('nucleus')) - var.put('symbol', Js({'type':Js('textord'),'mode':var.get(u"this").get('mode'),'loc':var.get('SourceLocation').callprop('range', var.get('nucleus')),'text':var.get('text')})) + var.put('symbol', Js({'type':Js('textord'),'mode':Js('text'),'loc':var.get('SourceLocation').callprop('range', var.get('nucleus')),'text':var.get('text')})) else: return var.get(u"null") var.get(u"this").callprop('consume') @@ -8480,24 +9732,25 @@ def PyJs_parseSymbol_412_(this, arguments, var=var): finally: (var.put('i',Js(var.get('i').to_number())+Js(1))-Js(1)) return var.get('symbol') - PyJs_parseSymbol_412_._set_name('parseSymbol') - var.get('_proto').put('parseSymbol', PyJs_parseSymbol_412_) + PyJs_parseSymbol_479_._set_name('parseSymbol') + var.get('_proto').put('parseSymbol', PyJs_parseSymbol_479_) return var.get('Parser') - PyJs_anonymous_390_._set_name('anonymous') - var.put('Parser_Parser', PyJs_anonymous_390_()) - var.get('Parser_Parser').put('endOfExpression', Js([Js('}'), Js('\\endgroup'), Js('\\end'), Js('\\right'), Js('&')])) - var.get('Parser_Parser').put('endOfGroup', Js({'[':Js(']'),'{':Js('}'),'\\begingroup':Js('\\endgroup')})) - var.get('Parser_Parser').put('SUPSUB_GREEDINESS', Js(1.0)) - @Js - def PyJs_parseTree_413_(toParse, settings, this, arguments, var=var): - var = Scope({'toParse':toParse, 'settings':settings, 'this':this, 'arguments':arguments, 'parseTree':PyJs_parseTree_413_}, var) - var.registers(['toParse', 'parser', 'tree', 'settings']) + PyJs_anonymous_455_._set_name('anonymous') + var.put('Parser', PyJs_anonymous_455_()) + var.get('Parser').put('endOfExpression', Js([Js('}'), Js('\\endgroup'), Js('\\end'), Js('\\right'), Js('&')])) + pass + @Js + def PyJs_parseTree_480_(toParse, settings, this, arguments, var=var): + var = Scope({'toParse':toParse, 'settings':settings, 'this':this, 'arguments':arguments, 'parseTree':PyJs_parseTree_480_}, var) + var.registers(['tree', 'toParse', 'settings', 'parser']) if (PyJsStrictEq(var.get('toParse',throw=False).typeof(),Js('string')) or var.get('toParse').instanceof(var.get('String'))).neg(): PyJsTempException = JsToPyException(var.get('TypeError').create(Js('KaTeX can only parse string typed expression'))) raise PyJsTempException - var.put('parser', var.get('Parser_Parser').create(var.get('toParse'), var.get('settings'))) + var.put('parser', var.get('Parser').create(var.get('toParse'), var.get('settings'))) var.get('parser').get('gullet').get('macros').get('current').delete('\\df@tag') var.put('tree', var.get('parser').callprop('parse')) + var.get('parser').get('gullet').get('macros').get('current').delete('\\current@color') + var.get('parser').get('gullet').get('macros').get('current').delete('\\color') if var.get('parser').get('gullet').get('macros').callprop('get', Js('\\df@tag')): if var.get('settings').get('displayMode').neg(): PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js('\\tag works only in display equations'))) @@ -8505,203 +9758,113 @@ def PyJs_parseTree_413_(toParse, settings, this, arguments, var=var): var.get('parser').get('gullet').callprop('feed', Js('\\df@tag')) var.put('tree', Js([Js({'type':Js('tag'),'mode':Js('text'),'body':var.get('tree'),'tag':var.get('parser').callprop('parse')})])) return var.get('tree') - PyJs_parseTree_413_._set_name('parseTree') - var.put('parseTree_parseTree', PyJs_parseTree_413_) - var.put('src_parseTree', var.get('parseTree_parseTree')) + PyJs_parseTree_480_._set_name('parseTree') + var.put('parseTree', PyJs_parseTree_480_) + var.put('src_parseTree', var.get('parseTree')) + pass @Js - def PyJs_render_414_(expression, baseNode, options, this, arguments, var=var): - var = Scope({'expression':expression, 'baseNode':baseNode, 'options':options, 'this':this, 'arguments':arguments, 'render':PyJs_render_414_}, var) - var.registers(['node', 'options', 'expression', 'baseNode']) + def PyJs_render_481_(expression, baseNode, options, this, arguments, var=var): + var = Scope({'expression':expression, 'baseNode':baseNode, 'options':options, 'this':this, 'arguments':arguments, 'render':PyJs_render_481_}, var) + var.registers(['expression', 'baseNode', 'options', 'node']) var.get('baseNode').put('textContent', Js('')) - var.put('node', var.get('katex_renderToDomTree')(var.get('expression'), var.get('options')).callprop('toNode')) + var.put('node', var.get('renderToDomTree')(var.get('expression'), var.get('options')).callprop('toNode')) var.get('baseNode').callprop('appendChild', var.get('node')) - PyJs_render_414_._set_name('render') - var.put('katex_render', PyJs_render_414_) + PyJs_render_481_._set_name('render') + var.put('render', PyJs_render_481_) if PyJsStrictNeq(var.get('document',throw=False).typeof(),Js('undefined')): if PyJsStrictNeq(var.get('document').get('compatMode'),Js('CSS1Compat')): (PyJsStrictNeq(var.get('console',throw=False).typeof(),Js('undefined')) and var.get('console').callprop('warn', (Js("Warning: KaTeX doesn't work in quirks mode. Make sure your ")+Js('website has a suitable doctype.')))) @Js - def PyJs_render_415_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'render':PyJs_render_415_}, var) + def PyJs_render_482_(this, arguments, var=var): + var = Scope({'this':this, 'arguments':arguments, 'render':PyJs_render_482_}, var) var.registers([]) PyJsTempException = JsToPyException(var.get('src_ParseError').create(Js("KaTeX doesn't work in quirks mode."))) raise PyJsTempException - PyJs_render_415_._set_name('render') - var.put('katex_render', PyJs_render_415_) + PyJs_render_482_._set_name('render') + var.put('render', PyJs_render_482_) @Js - def PyJs_renderToString_416_(expression, options, this, arguments, var=var): - var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'renderToString':PyJs_renderToString_416_}, var) - var.registers(['options', 'markup', 'expression']) - var.put('markup', var.get('katex_renderToDomTree')(var.get('expression'), var.get('options')).callprop('toMarkup')) + def PyJs_renderToString_483_(expression, options, this, arguments, var=var): + var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'renderToString':PyJs_renderToString_483_}, var) + var.registers(['markup', 'expression', 'options']) + var.put('markup', var.get('renderToDomTree')(var.get('expression'), var.get('options')).callprop('toMarkup')) return var.get('markup') - PyJs_renderToString_416_._set_name('renderToString') - var.put('renderToString', PyJs_renderToString_416_) + PyJs_renderToString_483_._set_name('renderToString') + var.put('renderToString', PyJs_renderToString_483_) @Js - def PyJs_generateParseTree_417_(expression, options, this, arguments, var=var): - var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'generateParseTree':PyJs_generateParseTree_417_}, var) - var.registers(['settings', 'options', 'expression']) - var.put('settings', var.get('src_Settings').create(var.get('options'))) + def PyJs_generateParseTree_484_(expression, options, this, arguments, var=var): + var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'generateParseTree':PyJs_generateParseTree_484_}, var) + var.registers(['expression', 'settings', 'options']) + var.put('settings', var.get('Settings').create(var.get('options'))) return var.get('src_parseTree')(var.get('expression'), var.get('settings')) - PyJs_generateParseTree_417_._set_name('generateParseTree') - var.put('katex_generateParseTree', PyJs_generateParseTree_417_) + PyJs_generateParseTree_484_._set_name('generateParseTree') + var.put('generateParseTree', PyJs_generateParseTree_484_) @Js - def PyJs_renderError_418_(error, expression, options, this, arguments, var=var): - var = Scope({'error':error, 'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'renderError':PyJs_renderError_418_}, var) - var.registers(['node', 'options', 'expression', 'error']) + def PyJs_renderError_485_(error, expression, options, this, arguments, var=var): + var = Scope({'error':error, 'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'renderError':PyJs_renderError_485_}, var) + var.registers(['expression', 'options', 'error', 'node']) if (var.get('options').get('throwOnError') or var.get('error').instanceof(var.get('src_ParseError')).neg()): PyJsTempException = JsToPyException(var.get('error')) raise PyJsTempException - var.put('node', var.get('buildCommon').callprop('makeSpan', Js([Js('katex-error')]), Js([var.get('domTree_SymbolNode').create(var.get('expression'))]))) + var.put('node', var.get('buildCommon').callprop('makeSpan', Js([Js('katex-error')]), Js([var.get('SymbolNode').create(var.get('expression'))]))) var.get('node').callprop('setAttribute', Js('title'), var.get('error').callprop('toString')) var.get('node').callprop('setAttribute', Js('style'), (Js('color:')+var.get('options').get('errorColor'))) return var.get('node') - PyJs_renderError_418_._set_name('renderError') - var.put('katex_renderError', PyJs_renderError_418_) + PyJs_renderError_485_._set_name('renderError') + var.put('renderError', PyJs_renderError_485_) @Js - def PyJs_renderToDomTree_419_(expression, options, this, arguments, var=var): - var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'renderToDomTree':PyJs_renderToDomTree_419_}, var) - var.registers(['settings', 'options', 'expression', 'tree']) - var.put('settings', var.get('src_Settings').create(var.get('options'))) + def PyJs_renderToDomTree_486_(expression, options, this, arguments, var=var): + var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'renderToDomTree':PyJs_renderToDomTree_486_}, var) + var.registers(['expression', 'tree', 'settings', 'options']) + var.put('settings', var.get('Settings').create(var.get('options'))) try: var.put('tree', var.get('src_parseTree')(var.get('expression'), var.get('settings'))) - return var.get('buildTree_buildTree')(var.get('tree'), var.get('expression'), var.get('settings')) + return var.get('buildTree')(var.get('tree'), var.get('expression'), var.get('settings')) except PyJsException as PyJsTempException: - PyJsHolder_6572726f72_72941069 = var.own.get('error') + PyJsHolder_6572726f72_48997454 = var.own.get('error') var.force_own_put('error', PyExceptionToJs(PyJsTempException)) try: - return var.get('katex_renderError')(var.get('error'), var.get('expression'), var.get('settings')) + return var.get('renderError')(var.get('error'), var.get('expression'), var.get('settings')) finally: - if PyJsHolder_6572726f72_72941069 is not None: - var.own['error'] = PyJsHolder_6572726f72_72941069 + if PyJsHolder_6572726f72_48997454 is not None: + var.own['error'] = PyJsHolder_6572726f72_48997454 else: del var.own['error'] - del PyJsHolder_6572726f72_72941069 - PyJs_renderToDomTree_419_._set_name('renderToDomTree') - var.put('katex_renderToDomTree', PyJs_renderToDomTree_419_) - @Js - def PyJs_renderToHTMLTree_420_(expression, options, this, arguments, var=var): - var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'renderToHTMLTree':PyJs_renderToHTMLTree_420_}, var) - var.registers(['settings', 'options', 'expression', 'tree']) - var.put('settings', var.get('src_Settings').create(var.get('options'))) + del PyJsHolder_6572726f72_48997454 + PyJs_renderToDomTree_486_._set_name('renderToDomTree') + var.put('renderToDomTree', PyJs_renderToDomTree_486_) + @Js + def PyJs_renderToHTMLTree_487_(expression, options, this, arguments, var=var): + var = Scope({'expression':expression, 'options':options, 'this':this, 'arguments':arguments, 'renderToHTMLTree':PyJs_renderToHTMLTree_487_}, var) + var.registers(['expression', 'tree', 'settings', 'options']) + var.put('settings', var.get('Settings').create(var.get('options'))) try: var.put('tree', var.get('src_parseTree')(var.get('expression'), var.get('settings'))) - return var.get('buildTree_buildHTMLTree')(var.get('tree'), var.get('expression'), var.get('settings')) + return var.get('buildHTMLTree')(var.get('tree'), var.get('expression'), var.get('settings')) except PyJsException as PyJsTempException: - PyJsHolder_6572726f72_69532139 = var.own.get('error') + PyJsHolder_6572726f72_76811405 = var.own.get('error') var.force_own_put('error', PyExceptionToJs(PyJsTempException)) try: - return var.get('katex_renderError')(var.get('error'), var.get('expression'), var.get('settings')) + return var.get('renderError')(var.get('error'), var.get('expression'), var.get('settings')) finally: - if PyJsHolder_6572726f72_69532139 is not None: - var.own['error'] = PyJsHolder_6572726f72_69532139 + if PyJsHolder_6572726f72_76811405 is not None: + var.own['error'] = PyJsHolder_6572726f72_76811405 else: del var.own['error'] - del PyJsHolder_6572726f72_69532139 - PyJs_renderToHTMLTree_420_._set_name('renderToHTMLTree') - var.put('katex_renderToHTMLTree', PyJs_renderToHTMLTree_420_) - var.put('katex_0', Js({'version':Js('0.10.2'),'render':var.get('katex_render'),'renderToString':var.get('renderToString'),'ParseError':var.get('src_ParseError'),'__parse':var.get('katex_generateParseTree'),'__renderToDomTree':var.get('katex_renderToDomTree'),'__renderToHTMLTree':var.get('katex_renderToHTMLTree'),'__setFontMetrics':var.get('setFontMetrics'),'__defineSymbol':var.get('defineSymbol'),'__defineMacro':var.get('defineMacro'),'__domTree':Js({'Span':var.get('domTree_Span'),'Anchor':var.get('domTree_Anchor'),'SymbolNode':var.get('domTree_SymbolNode'),'SvgNode':var.get('SvgNode'),'PathNode':var.get('domTree_PathNode'),'LineNode':var.get('LineNode')})})) - var.put('katex_webpack', var.get('__webpack_exports__').put('default', var.get('katex_0'))) - PyJs_anonymous_2_._set_name('anonymous') - @Js - def PyJs_anonymous_421_(modules, this, arguments, var=var): - var = Scope({'modules':modules, 'this':this, 'arguments':arguments}, var) - var.registers(['installedModules', 'modules', '__webpack_require__']) - @Js - def PyJsHoisted___webpack_require___(moduleId, this, arguments, var=var): - var = Scope({'moduleId':moduleId, 'this':this, 'arguments':arguments}, var) - var.registers(['moduleId', 'module']) - if var.get('installedModules').get(var.get('moduleId')): - return var.get('installedModules').get(var.get('moduleId')).get('exports') - var.put('module', var.get('installedModules').put(var.get('moduleId'), Js({'i':var.get('moduleId'),'l':Js(False),'exports':Js({})}))) - var.get('modules').get(var.get('moduleId')).callprop('call', var.get('module').get('exports'), var.get('module'), var.get('module').get('exports'), var.get('__webpack_require__')) - var.get('module').put('l', Js(True)) - return var.get('module').get('exports') - PyJsHoisted___webpack_require___.func_name = '__webpack_require__' - var.put('__webpack_require__', PyJsHoisted___webpack_require___) - var.put('installedModules', Js({})) + del PyJsHolder_6572726f72_76811405 + PyJs_renderToHTMLTree_487_._set_name('renderToHTMLTree') + var.put('renderToHTMLTree', PyJs_renderToHTMLTree_487_) + var.put('katex', Js({'version':Js('0.13.11'),'render':var.get('render'),'renderToString':var.get('renderToString'),'ParseError':var.get('src_ParseError'),'__parse':var.get('generateParseTree'),'__renderToDomTree':var.get('renderToDomTree'),'__renderToHTMLTree':var.get('renderToHTMLTree'),'__setFontMetrics':var.get('setFontMetrics'),'__defineSymbol':var.get('defineSymbol'),'__defineMacro':var.get('defineMacro'),'__domTree':Js({'Span':var.get('Span'),'Anchor':var.get('Anchor'),'SymbolNode':var.get('SymbolNode'),'SvgNode':var.get('SvgNode'),'PathNode':var.get('PathNode'),'LineNode':var.get('LineNode')})})) pass - var.get('__webpack_require__').put('m', var.get('modules')) - var.get('__webpack_require__').put('c', var.get('installedModules')) - @Js - def PyJs_anonymous_422_(exports, name, getter, this, arguments, var=var): - var = Scope({'exports':exports, 'name':name, 'getter':getter, 'this':this, 'arguments':arguments}, var) - var.registers(['exports', 'getter', 'name']) - if var.get('__webpack_require__').callprop('o', var.get('exports'), var.get('name')).neg(): - var.get('Object').callprop('defineProperty', var.get('exports'), var.get('name'), Js({'enumerable':Js(True),'get':var.get('getter')})) - PyJs_anonymous_422_._set_name('anonymous') - var.get('__webpack_require__').put('d', PyJs_anonymous_422_) - @Js - def PyJs_anonymous_423_(exports, this, arguments, var=var): - var = Scope({'exports':exports, 'this':this, 'arguments':arguments}, var) - var.registers(['exports']) - if (PyJsStrictNeq(var.get('Symbol',throw=False).typeof(),Js('undefined')) and var.get('Symbol').get('toStringTag')): - var.get('Object').callprop('defineProperty', var.get('exports'), var.get('Symbol').get('toStringTag'), Js({'value':Js('Module')})) - var.get('Object').callprop('defineProperty', var.get('exports'), Js('__esModule'), Js({'value':Js(True)})) - PyJs_anonymous_423_._set_name('anonymous') - var.get('__webpack_require__').put('r', PyJs_anonymous_423_) - @Js - def PyJs_anonymous_424_(value, mode, this, arguments, var=var): - var = Scope({'value':value, 'mode':mode, 'this':this, 'arguments':arguments}, var) - var.registers(['ns', 'key', 'value', 'mode']) - if (var.get('mode')&Js(1.0)): - var.put('value', var.get('__webpack_require__')(var.get('value'))) - if (var.get('mode')&Js(8.0)): - return var.get('value') - if ((((var.get('mode')&Js(4.0)) and PyJsStrictEq(var.get('value',throw=False).typeof(),Js('object'))) and var.get('value')) and var.get('value').get('__esModule')): - return var.get('value') - var.put('ns', var.get('Object').callprop('create', var.get(u"null"))) - var.get('__webpack_require__').callprop('r', var.get('ns')) - var.get('Object').callprop('defineProperty', var.get('ns'), Js('default'), Js({'enumerable':Js(True),'value':var.get('value')})) - if ((var.get('mode')&Js(2.0)) and (var.get('value',throw=False).typeof()!=Js('string'))): - for PyJsTemp in var.get('value'): - var.put('key', PyJsTemp) - @Js - def PyJs_anonymous_425_(key, this, arguments, var=var): - var = Scope({'key':key, 'this':this, 'arguments':arguments}, var) - var.registers(['key']) - return var.get('value').get(var.get('key')) - PyJs_anonymous_425_._set_name('anonymous') - var.get('__webpack_require__').callprop('d', var.get('ns'), var.get('key'), PyJs_anonymous_425_.callprop('bind', var.get(u"null"), var.get('key'))) - return var.get('ns') - PyJs_anonymous_424_._set_name('anonymous') - var.get('__webpack_require__').put('t', PyJs_anonymous_424_) - @Js - def PyJs_anonymous_426_(module, this, arguments, var=var): - var = Scope({'module':module, 'this':this, 'arguments':arguments}, var) - var.registers(['getter', 'module']) - @Js - def PyJs_getDefault_427_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'getDefault':PyJs_getDefault_427_}, var) - var.registers([]) - return var.get('module').get('default') - PyJs_getDefault_427_._set_name('getDefault') - @Js - def PyJs_getModuleExports_428_(this, arguments, var=var): - var = Scope({'this':this, 'arguments':arguments, 'getModuleExports':PyJs_getModuleExports_428_}, var) - var.registers([]) - return var.get('module') - PyJs_getModuleExports_428_._set_name('getModuleExports') - var.put('getter', (PyJs_getDefault_427_ if (var.get('module') and var.get('module').get('__esModule')) else PyJs_getModuleExports_428_)) - var.get('__webpack_require__').callprop('d', var.get('getter'), Js('a'), var.get('getter')) - return var.get('getter') - PyJs_anonymous_426_._set_name('anonymous') - var.get('__webpack_require__').put('n', PyJs_anonymous_426_) - @Js - def PyJs_anonymous_429_(object, property, this, arguments, var=var): - var = Scope({'object':object, 'property':property, 'this':this, 'arguments':arguments}, var) - var.registers(['property', 'object']) - return var.get('Object').get('prototype').get('hasOwnProperty').callprop('call', var.get('object'), var.get('property')) - PyJs_anonymous_429_._set_name('anonymous') - var.get('__webpack_require__').put('o', PyJs_anonymous_429_) - var.get('__webpack_require__').put('p', Js('')) - return var.get('__webpack_require__')(var.get('__webpack_require__').put('s', Js(1.0))) - PyJs_anonymous_421_._set_name('anonymous') - return PyJs_anonymous_421_(Js([PyJs_anonymous_1_, PyJs_anonymous_2_])).get('default') + var.put('katex_webpack', var.get('katex')) + var.put('__webpack_exports__', var.get('__webpack_exports__').get('default')) + return var.get('__webpack_exports__') + PyJs_anonymous_1_._set_name('anonymous') + return PyJs_anonymous_1_() PyJs_anonymous_0_._set_name('anonymous') @Js -def PyJs_webpackUniversalModuleDefinition_430_(root, factory, this, arguments, var=var): - var = Scope({'root':root, 'factory':factory, 'this':this, 'arguments':arguments, 'webpackUniversalModuleDefinition':PyJs_webpackUniversalModuleDefinition_430_}, var) - var.registers(['factory', 'root']) +def PyJs_webpackUniversalModuleDefinition_488_(root, factory, this, arguments, var=var): + var = Scope({'root':root, 'factory':factory, 'this':this, 'arguments':arguments, 'webpackUniversalModuleDefinition':PyJs_webpackUniversalModuleDefinition_488_}, var) + var.registers(['root', 'factory']) if (PyJsStrictEq(var.get('exports',throw=False).typeof(),Js('object')) and PyJsStrictEq(var.get('module',throw=False).typeof(),Js('object'))): var.get('module').put('exports', var.get('factory')()) else: @@ -8712,10 +9875,10 @@ def PyJs_webpackUniversalModuleDefinition_430_(root, factory, this, arguments, v var.get('exports').put('katex', var.get('factory')()) else: var.get('root').put('katex', var.get('factory')()) -PyJs_webpackUniversalModuleDefinition_430_._set_name('webpackUniversalModuleDefinition') -PyJs_webpackUniversalModuleDefinition_430_((var.get('self') if PyJsStrictNeq(var.get('self',throw=False).typeof(),Js('undefined')) else var.get(u"this")), PyJs_anonymous_0_) +PyJs_webpackUniversalModuleDefinition_488_._set_name('webpackUniversalModuleDefinition') +PyJs_webpackUniversalModuleDefinition_488_((var.get('self') if PyJsStrictNeq(var.get('self',throw=False).typeof(),Js('undefined')) else var.get(u"this")), PyJs_anonymous_0_) pass # Add lib to the module scope -watex = var.to_python() \ No newline at end of file +katex = var.to_python() \ No newline at end of file diff --git a/EduNLP/Formula/ast/readme.txt b/EduNLP/Formula/ast/readme.txt new file mode 100644 index 00000000..506dc385 --- /dev/null +++ b/EduNLP/Formula/ast/readme.txt @@ -0,0 +1,4 @@ +katex version: 0.13.11 +katex github: https://github.com/KaTeX/KaTeX +node type can be found in https://github.com/KaTeX/KaTeX/blob/master/src/parseNode.js +symbol type can be found in https://github.com/KaTeX/KaTeX/blob/master/src/symbols.js \ No newline at end of file diff --git a/EduNLP/Pretrain/__init__.py b/EduNLP/Pretrain/__init__.py new file mode 100644 index 00000000..a6daf797 --- /dev/null +++ b/EduNLP/Pretrain/__init__.py @@ -0,0 +1,4 @@ +# coding: utf-8 +# 2021/5/29 @ tongshiwei + +from .gensim_vec import train_vector, GensimWordTokenizer, GensimSegTokenizer diff --git a/EduNLP/Pretrain/gensim_vec.py b/EduNLP/Pretrain/gensim_vec.py new file mode 100644 index 00000000..2ebcfc9e --- /dev/null +++ b/EduNLP/Pretrain/gensim_vec.py @@ -0,0 +1,146 @@ +# coding: utf-8 +# 2021/5/29 @ tongshiwei +from EduNLP import logger +import multiprocessing +import gensim +from gensim.models import word2vec +from gensim.models.doc2vec import TaggedDocument +from gensim.models.callbacks import CallbackAny2Vec +from EduNLP.SIF.sif import sif4sci +from copy import deepcopy +import itertools as it + +__all__ = ["GensimWordTokenizer", "train_vector", "GensimSegTokenizer"] + + +class GensimWordTokenizer(object): + def __init__(self, symbol="gm"): + """ + + Parameters + ---------- + symbol: + gm + fgm + """ + self.symbol = symbol + self.tokenization_params = { + "formula_params": { + "method": "ast", + "return_type": "list", + "ord2token": True + } + } + + def batch_process(self, *items): + pass + + def __call__(self, item): + return sif4sci( + item, symbol=self.symbol, tokenization_params=self.tokenization_params, errors="ignore" + ) + + +class GensimSegTokenizer(object): # pragma: no cover + def __init__(self, symbol="gms", depth=None, flatten=False, **kwargs): + """ + + Parameters + ---------- + symbol: + gms + fgm + """ + self.symbol = symbol + self.tokenization_params = { + "formula_params": { + "method": "ast", + "return_type": "list", + "ord2token": True + } + } + self.kwargs = dict( + add_seg_type=True if depth in {0, 1, 2} else False, + add_seg_mode="head", + depth=depth, + drop="s" if depth not in {0, 1, 2} else "" + ) + self.kwargs.update(kwargs) + self.flatten = flatten + + def __call__(self, item, flatten=None, **kwargs): + flatten = self.flatten if flatten is None else flatten + tl = sif4sci( + item, symbol=self.symbol, tokenization_params=self.tokenization_params, errors="ignore" + ) + if kwargs: + _kwargs = deepcopy(self.kwargs) + _kwargs.update(kwargs) + else: + _kwargs = self.kwargs + if tl: + ret = tl.get_segments(**_kwargs) + if flatten is True: + return it.chain(*ret) + return ret + return tl + + +class MonitorCallback(CallbackAny2Vec): + def __init__(self, test_words): + self.epoch = 0 + self._test_words = test_words + + def on_epoch_end(self, model): + logger.info("Epoch #{}: loss-{:.4f} ".format(self.epoch, model.get_latest_training_loss())) + self.epoch += 1 + + +def train_vector(items, w2v_prefix, embedding_dim, method="sg", binary=None, train_params=None): + monitor = MonitorCallback(["word", "I", "less"]) + _train_params = dict( + min_count=0, + vector_size=embedding_dim, + workers=multiprocessing.cpu_count(), + callbacks=[monitor] + ) + if method in {"sg", "cbow"}: + sg = 1 if method == "sg" else 0 + _train_params["sg"] = sg + if train_params is not None: + _train_params.update(train_params) + model = gensim.models.Word2Vec( + items, **_train_params + ) + binary = binary if binary is not None else False + elif method == "fasttext": + if train_params is not None: + _train_params.update(train_params) + model = gensim.models.FastText( + sentences=items, + **_train_params + ) + binary = binary if binary is not None else True + elif method == "d2v": + if train_params is not None: + _train_params.update(train_params) + docs = [TaggedDocument(doc, [i]) for i, doc in enumerate(items)] + model = gensim.models.Doc2Vec( + docs, **_train_params + ) + binary = binary if binary is not None else True + else: + raise ValueError("Unknown method: %s" % method) + + filepath = w2v_prefix + "%s_%s" % (method, embedding_dim) + if binary is True: + filepath += ".bin" + logger.info("model is saved to %s" % filepath) + model.save(filepath) + else: + if method in {"fasttext", "d2v"}: # pragma: no cover + logger.warning("binary should be True for %s, otherwise all vectors for ngrams will be lost." % method) + filepath += ".kv" + logger.info("model is saved to %s" % filepath) + model.wv.save(filepath) + return filepath diff --git a/EduNLP/SIF/constants.py b/EduNLP/SIF/constants.py index e34cf0b9..f8b93912 100644 --- a/EduNLP/SIF/constants.py +++ b/EduNLP/SIF/constants.py @@ -5,6 +5,12 @@ FORMULA_SYMBOL = "[FORMULA]" FIGURE_SYMBOL = "[FIGURE]" QUES_MARK_SYMBOL = "[MARK]" +TAG_SYMBOL = "[TAG]" +SEP_SYMBOL = "[SEP]" +TEXT_BEGIN = r"[TEXT_BEGIN]" +TEXT_END = r"[TEXT_END]" +FORMULA_BEGIN = r"[FORMULA_BEGIN]" +FORMULA_END = r"[FORMULA_END]" class Symbol(str): diff --git a/EduNLP/SIF/segment/__init__.py b/EduNLP/SIF/segment/__init__.py index 52344ec3..3393d28e 100644 --- a/EduNLP/SIF/segment/__init__.py +++ b/EduNLP/SIF/segment/__init__.py @@ -2,4 +2,4 @@ # 2021/5/18 @ tongshiwei from .segment import (SegmentList, TextSegment, FigureFormulaSegment, LatexFormulaSegment, FigureSegment, - QuesMarkSegment, Figure, seg) + QuesMarkSegment, Figure, TagSegment, SepSegment, seg) diff --git a/EduNLP/SIF/segment/segment.py b/EduNLP/SIF/segment/segment.py index a4bdf5f9..a6d7f7c8 100644 --- a/EduNLP/SIF/segment/segment.py +++ b/EduNLP/SIF/segment/segment.py @@ -4,7 +4,7 @@ import numpy as np import re from contextlib import contextmanager -from ..constants import Symbol, TEXT_SYMBOL, FORMULA_SYMBOL, FIGURE_SYMBOL, QUES_MARK_SYMBOL +from ..constants import Symbol, TEXT_SYMBOL, FORMULA_SYMBOL, FIGURE_SYMBOL, QUES_MARK_SYMBOL, TAG_SYMBOL, SEP_SYMBOL class TextSegment(str): @@ -67,6 +67,14 @@ class QuesMarkSegment(str): pass +class TagSegment(str): + pass + + +class SepSegment(str): + pass + + class SegmentList(object): def __init__(self, item, figures: dict = None): self._segments = [] @@ -74,6 +82,8 @@ def __init__(self, item, figures: dict = None): self._formula_segments = [] self._figure_segments = [] self._ques_mark_segments = [] + self._tag_segments = [] + self._sep_segments = [] segments = re.split(r"(\$.+?\$)", item) for segment in segments: if not segment: @@ -90,6 +100,10 @@ def __init__(self, item, figures: dict = None): self.append(FigureSegment(segment[1:-1], is_base64=True, figure_instance=figures)) elif re.match(r"\$\\(SIFBlank|SIFChoice)\$", segment): self.append(QuesMarkSegment(segment[1:-1])) + elif re.match(r"\$\\SIFTag\{.+?}\$", segment): + self.append(TagSegment(segment[1:-1])) + elif re.match(r"\$\\SIFSep\$", segment): + self.append(SepSegment(segment[1:-1])) else: self.append(LatexFormulaSegment(segment[1:-1])) self._seg_idx = None @@ -109,6 +123,10 @@ def append(self, segment) -> None: self._figure_segments.append(len(self)) elif isinstance(segment, QuesMarkSegment): self._ques_mark_segments.append(len(self)) + elif isinstance(segment, TagSegment): + self._tag_segments.append(len(self)) + elif isinstance(segment, SepSegment): + self._sep_segments.append(len(self)) else: raise TypeError("Unknown Segment Type: %s" % type(segment)) self._segments.append(segment) @@ -136,6 +154,10 @@ def figure_segments(self): def ques_mark_segments(self): return [self._segments[i] for i in self._ques_mark_segments] + @property + def tag_segments(self): + return [self._segments[i] for i in self._tag_segments] + def to_symbol(self, idx, symbol): self._segments[idx] = symbol @@ -166,12 +188,18 @@ def symbolize(self, to_symbolize="fgm"): if "m" in to_symbolize: for idx in self._ques_mark_segments: self.to_symbol(idx, Symbol(QUES_MARK_SYMBOL)) + if "a" in to_symbolize: + for idx in self._tag_segments: + self.to_symbol(idx, Symbol(TAG_SYMBOL)) + if "s" in to_symbolize: + for idx in self._sep_segments: + self.to_symbol(idx, Symbol(SEP_SYMBOL)) @contextmanager def filter(self, drop: (set, str) = "", keep: (set, str) = "*"): _drop = {c for c in drop} if isinstance(drop, str) else drop if keep == "*": - _keep = {c for c in "tfgm" if c not in _drop} + _keep = {c for c in "tfgmas" if c not in _drop} else: _keep = {c for c in keep if c not in _drop} if isinstance(keep, str) else keep self._seg_idx = set() @@ -183,6 +211,10 @@ def filter(self, drop: (set, str) = "", keep: (set, str) = "*"): self._seg_idx |= set(self._figure_segments) if "m" in _keep: self._seg_idx |= set(self._ques_mark_segments) + if "a" in _keep: + self._seg_idx |= set(self._tag_segments) + if "s" in _keep: + self._seg_idx |= set(self._sep_segments) yield self._seg_idx = None @@ -196,7 +228,7 @@ def describe(self): def seg(item, figures=None, symbol=None): - """ + r""" Parameters ---------- @@ -209,37 +241,59 @@ def seg(item, figures=None, symbol=None): Examples -------- - >>> test_item = r"如图所示,则$\\bigtriangleup ABC$的面积是$\\SIFBlank$。$\\FigureID{1}$" + >>> test_item = r"如图所示,则$\bigtriangleup ABC$的面积是$\SIFBlank$。$\FigureID{1}$" >>> s = seg(test_item) >>> s - ['如图所示,则', '\\\\bigtriangleup ABC', '的面积是', '\\\\SIFBlank', '。', \\FigureID{1}] + ['如图所示,则', '\\bigtriangleup ABC', '的面积是', '\\SIFBlank', '。', \FigureID{1}] >>> s.describe() {'t': 3, 'f': 1, 'g': 1, 'm': 1} >>> with s.filter("f"): ... s - ['如图所示,则', '的面积是', '\\\\SIFBlank', '。', \\FigureID{1}] + ['如图所示,则', '的面积是', '\\SIFBlank', '。', \FigureID{1}] >>> with s.filter(keep="t"): ... s ['如图所示,则', '的面积是', '。'] >>> with s.filter(): ... s - ['如图所示,则', '\\\\bigtriangleup ABC', '的面积是', '\\\\SIFBlank', '。', \\FigureID{1}] + ['如图所示,则', '\\bigtriangleup ABC', '的面积是', '\\SIFBlank', '。', \FigureID{1}] >>> seg(test_item, symbol="fgm") ['如图所示,则', '[FORMULA]', '的面积是', '[MARK]', '。', '[FIGURE]'] >>> seg(test_item, symbol="tfgm") ['[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[TEXT]', '[FIGURE]'] - >>> seg(r"如图所示,则$\\FormFigureID{0}$的面积是$\\SIFBlank$。$\\FigureID{1}$") - ['如图所示,则', \\FormFigureID{0}, '的面积是', '\\\\SIFBlank', '。', \\FigureID{1}] - >>> seg(r"如图所示,则$\\FormFigureID{0}$的面积是$\\SIFBlank$。$\\FigureID{1}$", symbol="fgm") + >>> seg(r"如图所示,则$\FormFigureID{0}$的面积是$\SIFBlank$。$\FigureID{1}$") + ['如图所示,则', \FormFigureID{0}, '的面积是', '\\SIFBlank', '。', \FigureID{1}] + >>> seg(r"如图所示,则$\FormFigureID{0}$的面积是$\SIFBlank$。$\FigureID{1}$", symbol="fgm") ['如图所示,则', '[FORMULA]', '的面积是', '[MARK]', '。', '[FIGURE]'] >>> s.text_segments ['如图所示,则', '的面积是', '。'] >>> s.formula_segments - ['\\\\bigtriangleup ABC'] + ['\\bigtriangleup ABC'] >>> s.figure_segments - [\\FigureID{1}] + [\FigureID{1}] >>> s.ques_mark_segments - ['\\\\SIFBlank'] + ['\\SIFBlank'] + >>> test_item_1 = { + ... "stem": r"若复数$z=1+2 i+i^{3}$,则$|z|=$", + ... "options": ['0', '1', r'$\sqrt{2}$', '2'] + ... } + >>> from EduNLP.utils import dict2str4sif + >>> test_item_1_str = dict2str4sif(test_item_1) + >>> test_item_1_str # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$...$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$$\\SIFTag{list_0}$0...$\\SIFTag{options_end}$' + >>> s1 = seg(test_item_1_str, symbol="tfgm") + >>> s1 # doctest: +ELLIPSIS + ['\\SIFTag{stem_begin}'...'\\SIFTag{stem_end}', '\\SIFTag{options_begin}', '\\SIFTag{list_0}', ...] + >>> with s1.filter(keep="a"): + ... s1 # doctest: +ELLIPSIS + [...'\\SIFTag{list_0}', '\\SIFTag{list_1}', '\\SIFTag{list_2}', '\\SIFTag{list_3}', '\\SIFTag{options_end}'] + >>> s1.tag_segments # doctest: +ELLIPSIS + ['\\SIFTag{stem_begin}', '\\SIFTag{stem_end}', '\\SIFTag{options_begin}', ... '\\SIFTag{options_end}'] + >>> test_item_1_str_2 = dict2str4sif(test_item_1, tag_mode="head", add_list_no_tag=False) + >>> seg(test_item_1_str_2, symbol="tfgmas") # doctest: +ELLIPSIS + ['[TAG]', ... '[TAG]', '[TEXT]', '[SEP]', '[TEXT]', '[SEP]', '[FORMULA]', '[SEP]', '[TEXT]'] + >>> s2 = seg(test_item_1_str_2, symbol="fgm") + >>> s2.tag_segments + ['\\SIFTag{stem}', '\\SIFTag{options}'] """ segments = SegmentList(item, figures) if symbol is not None: diff --git a/EduNLP/SIF/sif.py b/EduNLP/SIF/sif.py index ecf3abf5..34448ba9 100644 --- a/EduNLP/SIF/sif.py +++ b/EduNLP/SIF/sif.py @@ -1,6 +1,8 @@ # coding: utf-8 # 2021/5/16 @ tongshiwei +import traceback +import warnings from .segment import seg from .tokenization import tokenize, link_formulas @@ -14,8 +16,8 @@ def to_sif(item): def sif4sci(item: str, figures: (dict, bool) = None, safe=True, symbol: str = None, tokenization=True, - tokenization_params=None): - """ + tokenization_params=None, errors="raise"): + r""" Default to use linear Tokenizer, change the tokenizer by specifying tokenization_params @@ -33,6 +35,12 @@ def sif4sci(item: str, figures: (dict, bool) = None, safe=True, symbol: str = No The parameters only useful for "ast": ord2token: whether to transfer the variables (mathord) and constants (textord) to special tokens. var_numbering: whether to use number suffix to denote different variables + errors: + warn + raise + coerce + strict + ignore Returns ------- @@ -41,10 +49,10 @@ def sif4sci(item: str, figures: (dict, bool) = None, safe=True, symbol: str = No Examples -------- - >>> test_item = r"如图所示,则$\\bigtriangleup ABC$的面积是$\\SIFBlank$。$\\FigureID{1}$" + >>> test_item = r"如图所示,则$\bigtriangleup ABC$的面积是$\SIFBlank$。$\FigureID{1}$" >>> tl = sif4sci(test_item) >>> tl - ['如图所示', '\\\\bigtriangleup', 'ABC', '面积', '\\\\SIFBlank', \\FigureID{1}] + ['如图所示', '\\bigtriangleup', 'ABC', '面积', '\\SIFBlank', \FigureID{1}] >>> tl.describe() {'t': 2, 'f': 2, 'g': 1, 'm': 1} >>> with tl.filter('fgm'): @@ -55,24 +63,24 @@ def sif4sci(item: str, figures: (dict, bool) = None, safe=True, symbol: str = No ['如图所示', '面积'] >>> with tl.filter(): ... tl - ['如图所示', '\\\\bigtriangleup', 'ABC', '面积', '\\\\SIFBlank', \\FigureID{1}] + ['如图所示', '\\bigtriangleup', 'ABC', '面积', '\\SIFBlank', \FigureID{1}] >>> tl.text_tokens ['如图所示', '面积'] >>> tl.formula_tokens - ['\\\\bigtriangleup', 'ABC'] + ['\\bigtriangleup', 'ABC'] >>> tl.figure_tokens - [\\FigureID{1}] + [\FigureID{1}] >>> tl.ques_mark_tokens - ['\\\\SIFBlank'] + ['\\SIFBlank'] >>> sif4sci(test_item, symbol="gm", tokenization_params={"formula_params": {"method": "ast"}}) - ['如图所示', , '面积', '[MARK]', '[FIGURE]'] + ['如图所示', , '面积', '[MARK]', '[FIGURE]'] >>> sif4sci(test_item, symbol="tfgm") ['[TEXT]', '[FORMULA]', '[TEXT]', '[MARK]', '[TEXT]', '[FIGURE]'] >>> sif4sci(test_item, symbol="gm", ... tokenization_params={"formula_params": {"method": "ast", "return_type": "list"}}) - ['如图所示', '\\\\bigtriangleup', 'A', 'B', 'C', '面积', '[MARK]', '[FIGURE]'] + ['如图所示', '\\bigtriangleup', 'A', 'B', 'C', '面积', '[MARK]', '[FIGURE]'] >>> test_item_1 = { - ... "stem": r"若$x=2$, $y=\\sqrt{x}$,则下列说法正确的是$\\SIFChoice$", + ... "stem": r"若$x=2$, $y=\sqrt{x}$,则下列说法正确的是$\SIFChoice$", ... "options": [r"$x < y$", r"$y = x$", r"$y < x$"] ... } >>> tls = [ @@ -89,13 +97,55 @@ def sif4sci(item: str, figures: (dict, bool) = None, safe=True, symbol: str = No >>> link_formulas(*tls) >>> tls[1:] [['mathord_0', '<', 'mathord_1'], ['mathord_1', '=', 'mathord_0'], ['mathord_1', '<', 'mathord_0']] + >>> from EduNLP.utils import dict2str4sif + >>> test_item_1_str = dict2str4sif(test_item_1, tag_mode="head", add_list_no_tag=False) + >>> test_item_1_str # doctest: +ELLIPSIS + '$\\SIFTag{stem}$...则下列说法正确的是$\\SIFChoice$$\\SIFTag{options}$$x < y$$\\SIFSep$$y = x$$\\SIFSep$$y < x$' + >>> tl1 = sif4sci(test_item_1_str, symbol="gm", + ... tokenization_params={"formula_params": {"method": "ast", "return_type": "list", "ord2token": True}}) + >>> tl1.get_segments()[0] + ['\\SIFTag{stem}'] + >>> tl1.get_segments()[1:3] + [['[TEXT_BEGIN]', '[TEXT_END]'], ['[FORMULA_BEGIN]', 'mathord', '=', 'textord', '[FORMULA_END]']] + >>> tl1.get_segments(add_seg_type=False)[0:3] + [['\\SIFTag{stem}'], ['mathord', '=', 'textord'], ['mathord', '=', 'mathord', '{ }', '\\sqrt']] + >>> test_item_2 = {"options": [r"$x < y$", r"$y = x$", r"$y < x$"]} + >>> test_item_2 + {'options': ['$x < y$', '$y = x$', '$y < x$']} + >>> test_item_2_str = dict2str4sif(test_item_2, tag_mode="head", add_list_no_tag=False) + >>> test_item_2_str + '$\\SIFTag{options}$$x < y$$\\SIFSep$$y = x$$\\SIFSep$$y < x$' + >>> tl2 = sif4sci(test_item_2_str, symbol="gms", + ... tokenization_params={"formula_params": {"method": "ast", "return_type": "list"}}) + >>> tl2 + ['\\SIFTag{options}', 'x', '<', 'y', '[SEP]', 'y', '=', 'x', '[SEP]', 'y', '<', 'x'] + >>> tl2.get_segments(add_seg_type=False) + [['\\SIFTag{options}'], ['x', '<', 'y'], ['[SEP]'], ['y', '=', 'x'], ['[SEP]'], ['y', '<', 'x']] + >>> tl2.get_segments(add_seg_type=False, drop="s") + [['\\SIFTag{options}'], ['x', '<', 'y'], ['y', '=', 'x'], ['y', '<', 'x']] + >>> tl3 = sif4sci(test_item_1["stem"], symbol="gs") + >>> tl3.text_segments + [['说法', '正确']] + >>> tl3.formula_segments + [['x', '=', '2'], ['y', '=', '\\sqrt', '{', 'x', '}']] + >>> tl3.figure_segments + [] + >>> tl3.ques_mark_segments + [['\\SIFChoice']] """ - if safe is True and is_sif(item) is not True: - item = to_sif(item) + try: + if safe is True and is_sif(item) is not True: + item = to_sif(item) - ret = seg(item, figures, symbol) + ret = seg(item, figures, symbol) - if tokenization is True: - ret = tokenize(ret, **(tokenization_params if tokenization_params is not None else {})) + if tokenization is True: + ret = tokenize(ret, **(tokenization_params if tokenization_params is not None else {})) - return ret + return ret + except Exception as e: # pragma: no cover + msg = traceback.format_exc() + if errors == "warn": + warnings.warn(msg) + elif errors == "raise": + raise e diff --git a/EduNLP/SIF/tokenization/formula/ast_token.py b/EduNLP/SIF/tokenization/formula/ast_token.py index 70b2f76f..556f4e57 100644 --- a/EduNLP/SIF/tokenization/formula/ast_token.py +++ b/EduNLP/SIF/tokenization/formula/ast_token.py @@ -34,11 +34,19 @@ # _inorder_traversal(node) # return nodes -def traversal_formula(ast, ord2token=False, var_numbering=False, *args, **kwargs): +def traversal_formula(ast, ord2token=False, var_numbering=False, strategy="post", *args, **kwargs): tokens = [] - for i in nx.dfs_postorder_nodes(ast): + if strategy == "post": + order = nx.dfs_postorder_nodes(ast) + elif strategy == "linear": # pragma: no cover + order = ast.nodes + else: # pragma: no cover + raise ValueError("Unknown traversal strategy: %s" % strategy) + for i in order: node = ast.nodes[i] - if ord2token is True and node["type"] in ["mathord", "textord"]: + if node["type"] == "ignore": + continue + if ord2token is True and node["type"] in ["mathord", "textord", "text"]: if var_numbering is True and node["type"] == "mathord": tokens.append("%s_%s" % (node["type"], node.get("var", "con"))) else: diff --git a/EduNLP/SIF/tokenization/formula/formula.py b/EduNLP/SIF/tokenization/formula/formula.py index 3106cf9c..8afbe2da 100644 --- a/EduNLP/SIF/tokenization/formula/formula.py +++ b/EduNLP/SIF/tokenization/formula/formula.py @@ -30,15 +30,13 @@ def tokenize(formula, method="linear", errors="raise", **kwargs): >>> tokenize(r"\\frac{\\pi}{x + y} + 1 = x", method="ast", ord2token=True, return_type="list") ['mathord', '{ }', 'mathord', '+', 'mathord', '{ }', '\\\\frac', '+', 'textord', '=', 'mathord'] - >>> tokenize(r"\\phantom{=}56+4", method="ast", errors="coerce") - ['\\\\phantom', '{', '=', '}', '56', '+', '4'] """ if method == "linear": return linear_tokenize(formula, **kwargs) elif method == "ast": try: return ast_tokenize(formula, **kwargs) - except TypeError as e: + except TypeError as e: # pragma: no cover if errors == "coerce": warnings.warn("A type error is detected, linear tokenize is applied") return linear_tokenize(formula) diff --git a/EduNLP/SIF/tokenization/tokenization.py b/EduNLP/SIF/tokenization/tokenization.py index 5e8eca87..3c6d43e1 100644 --- a/EduNLP/SIF/tokenization/tokenization.py +++ b/EduNLP/SIF/tokenization/tokenization.py @@ -3,9 +3,12 @@ from contextlib import contextmanager from EduNLP.Formula import link_formulas as _link_formulas, Formula -from ..constants import Symbol, TEXT_SYMBOL, FIGURE_SYMBOL, FORMULA_SYMBOL, QUES_MARK_SYMBOL +from ..constants import ( + Symbol, TEXT_SYMBOL, FIGURE_SYMBOL, FORMULA_SYMBOL, QUES_MARK_SYMBOL, TAG_SYMBOL, SEP_SYMBOL, + TEXT_BEGIN, TEXT_END, FORMULA_BEGIN, FORMULA_END +) from ..segment import (SegmentList, TextSegment, FigureSegment, LatexFormulaSegment, FigureFormulaSegment, - QuesMarkSegment, Figure) + QuesMarkSegment, Figure, TagSegment, SepSegment) from . import text, formula __all__ = ["TokenList", "tokenize", "link_formulas"] @@ -18,6 +21,17 @@ def __init__(self, segment_list: SegmentList, text_params=None, formula_params=N self._formula_tokens = [] self._figure_tokens = [] self._ques_mark_tokens = [] + self._tag_tokens = [] + self._sep_tokens = [] + self._segments = [] + self._seg_types = { + "t": [], + "f": [], + "g": [], + "m": [], + "a": [], + "s": [] + } self.text_params = text_params if text_params is not None else {} self.formula_params = formula_params if formula_params is not None else {"method": "linear"} self.formula_tokenize_method = self.formula_params.get("method") @@ -29,7 +43,100 @@ def _variable_standardization(self): if self.formula_tokenize_method == "ast": ast_formulas = [self._tokens[i] for i in self._formula_tokens if isinstance(self._tokens[i], Formula)] if ast_formulas: - _link_formulas(*ast_formulas) + _link_formulas(*ast_formulas, link_vars=self.formula_params.get("var_numbering", False)) + + @contextmanager + def add_seg_type(self, seg_type, tar: list, add_seg_type=True, mode="delimiter"): + if add_seg_type is True and mode in {"delimiter", "head"}: + if seg_type == "t": + tar.append(TEXT_BEGIN) + elif seg_type == "f" and ( + self.formula_params.get("method") == "ast" and self.formula_params.get("return_type", "list") + ): + tar.append(FORMULA_BEGIN) + yield + if add_seg_type is True and mode in {"delimiter", "tail"}: + if seg_type == "t": + tar.append(TEXT_END) + elif seg_type == "f" and ( + self.formula_params.get("method") == "ast" and self.formula_params.get("return_type", "list") + ): + tar.append(FORMULA_END) + + def get_segments(self, add_seg_type=True, add_seg_mode="delimiter", keep="*", drop="", + depth=None): # pragma: no cover + r""" + + Parameters + ---------- + add_seg_type + add_seg_mode: + delimiter: both in the head and at the tail + head: only in the head + tail: only at the tail + keep + drop + depth: int or None + 0: only separate at \SIFSep + 1: only separate at \SIFTag + 2: separate at \SIFTag and \SIFSep + otherwise, separate all segments + + Returns + ------- + + """ + keep = set("tfgmas" if keep == "*" else keep) - set(drop) + _segments = [] + _segment = [] + close_tag = False + for start, end, seg_type in self._segments: + if depth == 0: + if seg_type == "s": + close_tag = True + elif depth == 1: + if seg_type == "a": + close_tag = True + elif depth == 2: + if seg_type in {"s", "a"}: + close_tag = True + else: + close_tag = True + if seg_type in keep: + with self.add_seg_type(seg_type, _segment, add_seg_type, add_seg_mode): + for token in self._tokens[start: end]: + self.__add_token(token, _segment) + if close_tag is True and _segment: + _segments.append(_segment) + _segment = [] + return _segments + + def __get_segments(self, seg_type): + _segments = [] + for i in self._seg_types[seg_type]: + _segment = [] + start, end, _ = self._segments[i] + for token in self._tokens[start: end]: + self.__add_token(token, _segment) + if _segment: + _segments.append(_segment) + return _segments + + @property + def text_segments(self): + return self.__get_segments("t") + + @property + def formula_segments(self): + return self.__get_segments("f") + + @property + def figure_segments(self): + return self.__get_segments("g") + + @property + def ques_mark_segments(self): + return self.__get_segments("m") @property def tokens(self): @@ -44,50 +151,76 @@ def tokens(self): return tokens def append_text(self, segment, symbol=False): - if symbol is False: - tokens = text.tokenize(segment, **self.text_params) - for token in tokens: + with self._append("t"): + if symbol is False: + tokens = text.tokenize(segment, **self.text_params) + for token in tokens: + self._text_tokens.append(len(self._tokens)) + self._tokens.append(token) + else: self._text_tokens.append(len(self._tokens)) - self._tokens.append(token) - else: - self._text_tokens.append(len(self._tokens)) - self._tokens.append(segment) + self._tokens.append(segment) - def append_formula(self, segment, symbol=False): - if symbol is True: - self._formula_tokens.append(len(self._tokens)) - self._tokens.append(segment) - elif isinstance(segment, FigureFormulaSegment): - self._formula_tokens.append(len(self._tokens)) - self._tokens.append(segment) - elif self.formula_params.get("method") == "ast": - self._formula_tokens.append(len(self._tokens)) - self._tokens.append(Formula(segment)) - else: - tokens = formula.tokenize(segment, **self.formula_params) - for token in tokens: + def append_formula(self, segment, symbol=False, init=True): + with self._append("f"): + if symbol is True: + self._formula_tokens.append(len(self._tokens)) + self._tokens.append(segment) + elif isinstance(segment, FigureFormulaSegment): self._formula_tokens.append(len(self._tokens)) - self._tokens.append(token) + self._tokens.append(segment) + elif self.formula_params.get("method") == "ast": + self._formula_tokens.append(len(self._tokens)) + self._tokens.append(Formula(segment, init=init)) + else: + tokens = formula.tokenize(segment, **self.formula_params) + for token in tokens: + self._formula_tokens.append(len(self._tokens)) + self._tokens.append(token) def append_figure(self, segment, **kwargs): - self._figure_tokens.append(len(self._tokens)) - self._tokens.append(segment) + with self._append("g"): + self._figure_tokens.append(len(self._tokens)) + self._tokens.append(segment) def append_ques_mark(self, segment, **kwargs): - self._ques_mark_tokens.append(len(self._tokens)) - self._tokens.append(segment) + with self._append("m"): + self._ques_mark_tokens.append(len(self._tokens)) + self._tokens.append(segment) + + def append_tag(self, segment, **kwargs): + with self._append("a"): + self._tag_tokens.append(len(self._tokens)) + self._tokens.append(segment) + + def append_sep(self, segment, **kwargs): + with self._append("s"): + self._sep_tokens.append(len(self._tokens)) + self._tokens.append(segment) + + @contextmanager + def _append(self, seg_type): + start = len(self._tokens) + yield + end = len(self._tokens) + self._seg_types[seg_type].append(len(self._segments)) + self._segments.append((start, end, seg_type)) def append(self, segment, lazy=False): if isinstance(segment, TextSegment): self.append_text(segment) elif isinstance(segment, (LatexFormulaSegment, FigureFormulaSegment)): - self.append_formula(segment) + self.append_formula(segment, init=not lazy) if lazy is False: self._variable_standardization() elif isinstance(segment, FigureSegment): self.append_figure(segment) elif isinstance(segment, QuesMarkSegment): self.append_ques_mark(segment) + elif isinstance(segment, TagSegment): + self.append_tag(segment) + elif isinstance(segment, SepSegment): + self.append_sep(segment) elif isinstance(segment, Symbol): if segment == TEXT_SYMBOL: self.append_text(segment, symbol=True) @@ -97,6 +230,10 @@ def append(self, segment, lazy=False): self.append_figure(segment, symbol=True) elif segment == QUES_MARK_SYMBOL: self.append_ques_mark(segment, symbol=True) + elif segment == TAG_SYMBOL: + self.append_tag(segment, symbol=True) + elif segment == SEP_SYMBOL: + self.append_sep(segment, symbol=True) else: raise TypeError("Unknown symbol type: %s" % segment) else: @@ -104,7 +241,7 @@ def append(self, segment, lazy=False): def extend(self, segments): for segment in segments: - self.append(segment, False) + self.append(segment, True) self._variable_standardization() @property @@ -156,7 +293,7 @@ def inner_formula_tokens(self): def filter(self, drop: (set, str) = "", keep: (set, str) = "*"): _drop = {c for c in drop} if isinstance(drop, str) else drop if keep == "*": - _keep = {c for c in "tfgm" if c not in _drop} + _keep = {c for c in "tfgmas" if c not in _drop} else: _keep = {c for c in keep if c not in _drop} if isinstance(keep, str) else keep self._token_idx = set() @@ -168,6 +305,10 @@ def filter(self, drop: (set, str) = "", keep: (set, str) = "*"): self._token_idx |= set(self._figure_tokens) if "m" in _keep: self._token_idx |= set(self._ques_mark_tokens) + if "a" in _keep: + self._token_idx |= set(self._tag_tokens) + if "s" in _keep: + self._token_idx |= set(self._sep_tokens) yield self._token_idx = None @@ -184,9 +325,9 @@ def tokenize(segment_list: SegmentList, text_params=None, formula_params=None, f return TokenList(segment_list, text_params, formula_params, figure_params) -def link_formulas(*token_list: TokenList): +def link_formulas(*token_list: TokenList, link_vars=True): ast_formulas = [] for tl in token_list: if tl.formula_tokenize_method == "ast": ast_formulas.extend([token for token in tl.inner_formula_tokens if isinstance(token, Formula)]) - _link_formulas(*ast_formulas) + _link_formulas(*ast_formulas, link_vars=link_vars) diff --git a/EduNLP/Vector/__init__.py b/EduNLP/Vector/__init__.py new file mode 100644 index 00000000..89c15fec --- /dev/null +++ b/EduNLP/Vector/__init__.py @@ -0,0 +1,4 @@ +# coding: utf-8 +# 2021/5/29 @ tongshiwei + +from .gensim_vec import W2V, D2V diff --git a/EduNLP/Vector/gensim_vec.py b/EduNLP/Vector/gensim_vec.py new file mode 100644 index 00000000..f1ff802a --- /dev/null +++ b/EduNLP/Vector/gensim_vec.py @@ -0,0 +1,33 @@ +# coding: utf-8 +# 2021/5/29 @ tongshiwei + +from pathlib import PurePath +from gensim.models import KeyedVectors, Word2Vec, FastText, Doc2Vec + + +class W2V(object): + def __init__(self, filepath, method, binary=None): + fp = PurePath(filepath) + self.binary = binary if binary is not None else (True if fp.suffix == ".bin" else False) + if self.binary is True: + if method == "fasttext": + self.wv = FastText.load(filepath).wv + else: + self.wv = Word2Vec.load(filepath).wv + else: + self.wv = KeyedVectors.load(filepath, mmap="r") + + def __call__(self, *words): + for word in words: + yield self.wv[word] + + def __getitem__(self, item): + return self.wv[item] + + +class D2V(object): + def __init__(self, filepath): + self.d2v = Doc2Vec.load(filepath) + + def __call__(self, item): + return self.d2v.infer_vector(item) diff --git a/EduNLP/__init__.py b/EduNLP/__init__.py index e69de29b..c5cdbbf7 100644 --- a/EduNLP/__init__.py +++ b/EduNLP/__init__.py @@ -0,0 +1 @@ +from .utils import logger diff --git a/EduNLP/utils/__init__.py b/EduNLP/utils/__init__.py index 95af5ab6..9b4e3e9e 100644 --- a/EduNLP/utils/__init__.py +++ b/EduNLP/utils/__init__.py @@ -3,3 +3,5 @@ from .path import abs_current_dir, path_append from .image import image2base64 +from .log import logger +from .data import dict2str4sif diff --git a/EduNLP/utils/data.py b/EduNLP/utils/data.py new file mode 100644 index 00000000..e41e5cb2 --- /dev/null +++ b/EduNLP/utils/data.py @@ -0,0 +1,83 @@ +# coding: utf-8 +# 2021/5/30 @ tongshiwei + +from contextlib import contextmanager + +ann_format = r"$\SIFTag{{{}}}$" +ann_begin_format = r"$\SIFTag{{{}_begin}}$" +ann_end_format = r"$\SIFTag{{{}_end}}$" +ann_list_no_format = r"$\SIFTag{{list_{}}}$" + + +@contextmanager +def add_annotation(key, tag_mode, tar: list, key_as_tag=True): + if key_as_tag is True: + if tag_mode == "delimiter": + tar.append(ann_begin_format.format(key)) + elif tag_mode == "head": + tar.append(ann_format.format(key)) + yield + if key_as_tag is True: + if tag_mode == "delimiter": + tar.append(ann_end_format.format(key)) + elif tag_mode == "tail": + tar.append(ann_format.format(key)) + + +def dict2str4sif(obj: dict, key_as_tag=True, tag_mode="delimiter", add_list_no_tag=True, keys=None) -> str: + r""" + + Parameters + ---------- + obj + key_as_tag + tag_mode + delimiter: add $\SIFTag{key_begin}$ in the head and add $\SIFTag{key_end}$ at the end + head: add $\SIFTag{key}$ in the head + tail: add $\SIFTag{key}$ at the end + add_list_no_tag + keys + + Returns + ------- + >>> item = { + ... "stem": r"若复数$z=1+2 i+i^{3}$,则$|z|=$", + ... "options": ['0', '1', r'$\sqrt{2}$', '2'], + ... } + >>> item + {'stem': '若复数$z=1+2 i+i^{3}$,则$|z|=$', 'options': ['0', '1', '$\\sqrt{2}$', '2']} + >>> dict2str4sif(item) # doctest: +ELLIPSIS + '$\\SIFTag{stem_begin}$...$\\SIFTag{stem_end}$$\\SIFTag{options_begin}$...$\\SIFTag{options_end}$' + >>> dict2str4sif(item, add_list_no_tag=True) # doctest: +ELLIPSIS + '...$\\SIFTag{options_begin}$$\\SIFTag{list_0}$0$\\SIFTag{list_1}$1...$\\SIFTag{options_end}$' + >>> dict2str4sif(item, tag_mode="head") # doctest: +ELLIPSIS + '$\\SIFTag{stem}$...$\\SIFTag{options}$...' + >>> dict2str4sif(item, tag_mode="tail") # doctest: +ELLIPSIS + '若复数$z=1+2 i+i^{3}$,则$|z|=$$\\SIFTag{stem}$...2$\\SIFTag{options}$' + >>> dict2str4sif(item, add_list_no_tag=False) # doctest: +ELLIPSIS + '...$\\SIFTag{options_begin}$0$\\SIFSep$1$\\SIFSep$...$\\SIFTag{options_end}$' + >>> dict2str4sif(item, key_as_tag=False) + '若复数$z=1+2 i+i^{3}$,则$|z|=$0$\\SIFSep$1$\\SIFSep$$\\sqrt{2}$$\\SIFSep$2' + """ + ret = [] + keys = obj.keys() if keys is None else keys + for key in keys: + _obj = [] + value = obj[key] + with add_annotation(key, tag_mode, _obj, key_as_tag): + if isinstance(value, str): + _obj.append(value) + elif isinstance(value, (list, dict)): + value = value.values() if isinstance(value, dict) else value + for i, v in enumerate(value): + v = str(v) + if key_as_tag is True and add_list_no_tag is True: + _obj.append(ann_list_no_format.format(i)) + else: + if i > 0: + _obj.append(r"$\SIFSep$") + _obj.append(v) + else: # pragma: no cover + raise TypeError("Cannot handle %s" % type(value)) + ret.append("".join(_obj)) + return str("".join(ret)) diff --git a/EduNLP/utils/log.py b/EduNLP/utils/log.py new file mode 100644 index 00000000..56774cb1 --- /dev/null +++ b/EduNLP/utils/log.py @@ -0,0 +1,17 @@ +# coding: utf-8 +# 2021/5/29 @ tongshiwei +import logging + + +def get_logger(): + _logger = logging.getLogger("EduNLP") + _logger.setLevel(logging.INFO) + _logger.propagate = False + ch = logging.StreamHandler() + ch.setFormatter(logging.Formatter('%(name)s, %(levelname)s %(message)s')) + ch.setLevel(logging.INFO) + _logger.addHandler(ch) + return _logger + + +logger = get_logger() diff --git a/examples/pretrain/gensim/d2v_stem_tf.ipynb b/examples/pretrain/gensim/d2v_stem_tf.ipynb new file mode 100644 index 00000000..c5119c2b --- /dev/null +++ b/examples/pretrain/gensim/d2v_stem_tf.ipynb @@ -0,0 +1,319 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\env\\python3.8\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n", + "sifing: 792it [00:39, 19.82it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"①\" (9312) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"②\" (9313) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"③\" (9314) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"④\" (9315) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"二\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"项\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"式\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"所\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"成\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"角\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"的\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"正\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"弦\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"值\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"为\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"四\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"点\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n" + ] + }, + { + "data": { + "text/plain": "['已知',\n '集合',\n 'mathord',\n '=',\n 'mathord',\n '\\\\mid',\n 'mathord',\n 'textord',\n '{ }',\n '^',\n '-',\n 'textord',\n 'mathord',\n '-',\n 'textord',\n '<',\n 'textord',\n '\\\\{',\n ',',\n 'mathord',\n '=',\n '\\\\{',\n '-',\n 'textord',\n ',',\n 'textord',\n ',',\n 'textord',\n ',',\n 'textord',\n '\\\\}',\n ',',\n 'mathord',\n '\\\\cap',\n 'mathord',\n '=']" + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import json\n", + "from tqdm import tqdm\n", + "\n", + "def load_items():\n", + " with open(\"../../../data/OpenLUNA.json\", encoding=\"utf-8\") as f:\n", + " for line in f:\n", + " yield json.loads(line)\n", + "\n", + "\n", + "from EduNLP.Pretrain import GensimWordTokenizer\n", + "\n", + "tokenizer = GensimWordTokenizer(symbol=\"gm\")\n", + "sif_items = []\n", + "for item in tqdm(load_items(), \"sifing\"):\n", + " sif_item = tokenizer(\n", + " item[\"stem\"]\n", + " )\n", + " if sif_item:\n", + " sif_items.append(sif_item.tokens)\n", + "\n", + "sif_items[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "outputs": [ + { + "data": { + "text/plain": "788" + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(sif_items)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 3, + "outputs": [], + "source": [ + "from EduNLP.Pretrain import train_vector" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 4, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "EduNLP, INFO Epoch #0: loss-0.0000 \n", + "EduNLP, INFO Epoch #1: loss-0.0000 \n", + "EduNLP, INFO Epoch #2: loss-0.0000 \n", + "EduNLP, INFO Epoch #3: loss-0.0000 \n", + "EduNLP, INFO Epoch #4: loss-0.0000 \n", + "EduNLP, INFO Epoch #5: loss-0.0000 \n", + "EduNLP, INFO Epoch #6: loss-0.0000 \n", + "EduNLP, INFO Epoch #7: loss-0.0000 \n", + "EduNLP, INFO Epoch #8: loss-0.0000 \n", + "EduNLP, INFO Epoch #9: loss-0.0000 \n", + "EduNLP, INFO model is saved to ../../../data/w2v/gensim_luna_stem_tf_d2v_10.bin\n" + ] + }, + { + "data": { + "text/plain": "'../../../data/w2v/gensim_luna_stem_tf_d2v_10.bin'" + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 10 dimension with fasstext method\n", + "train_vector(sif_items, \"../../../data/w2v/gensim_luna_stem_tf_\", 10, method=\"d2v\")" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 5, + "outputs": [ + { + "data": { + "text/plain": "array([-0.16680606, -0.04633714, 0.05006265, 0.2665265 , -0.04968905,\n 0.00479913, 0.0338746 , 0.04415674, -0.22469515, -0.00274831],\n dtype=float32)" + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from EduNLP.Vector import D2V\n", + "\n", + "d2v = D2V(\"../../../data/w2v/gensim_luna_stem_tf_d2v_10.bin\")\n", + "d2v(sif_items[0])" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/examples/pretrain/gensim/w2v_stem_text.ipynb b/examples/pretrain/gensim/w2v_stem_text.ipynb new file mode 100644 index 00000000..01a38b20 --- /dev/null +++ b/examples/pretrain/gensim/w2v_stem_text.ipynb @@ -0,0 +1,227 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\env\\python3.8\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n", + "sifing: 792it [00:00, 845.20it/s]\n" + ] + }, + { + "data": { + "text/plain": "['已知', '集合', '[FORMULA]', '[FORMULA]']" + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import json\n", + "from tqdm import tqdm\n", + "\n", + "def load_items():\n", + " with open(\"../../../data/OpenLUNA.json\", encoding=\"utf-8\") as f:\n", + " for line in f:\n", + " yield json.loads(line)\n", + "\n", + "from EduNLP.Pretrain import train_vector, GensimWordTokenizer\n", + "\n", + "tokenizer = GensimWordTokenizer(symbol=\"fgm\")\n", + "\n", + "sif_items = [\n", + " tokenizer(item[\"stem\"]).tokens for item in tqdm(load_items(), \"sifing\")\n", + "]\n", + "\n", + "sif_items[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "outputs": [ + { + "data": { + "text/plain": "792" + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(sif_items)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 3, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "EduNLP, INFO Epoch #0: loss-0.0000 \n", + "EduNLP, INFO Epoch #1: loss-0.0000 \n", + "EduNLP, INFO Epoch #2: loss-0.0000 \n", + "EduNLP, INFO Epoch #3: loss-0.0000 \n", + "EduNLP, INFO Epoch #4: loss-0.0000 \n", + "EduNLP, INFO model is saved to ../../../data/w2v/gensim_luna_stem_t_sg_100.kv\n" + ] + }, + { + "data": { + "text/plain": "'../../../data/w2v/gensim_luna_stem_t_sg_100.kv'" + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 100 dimension with skipgram method\n", + "train_vector(sif_items, \"../../../data/w2v/gensim_luna_stem_t_\", 100)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 4, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "EduNLP, INFO Epoch #0: loss-0.0000 \n", + "EduNLP, INFO Epoch #1: loss-0.0000 \n", + "EduNLP, INFO Epoch #2: loss-0.0000 \n", + "EduNLP, INFO Epoch #3: loss-0.0000 \n", + "EduNLP, INFO Epoch #4: loss-0.0000 \n", + "EduNLP, INFO model is saved to ../../../data/w2v/gensim_luna_stem_t_cbow_50.kv\n" + ] + }, + { + "data": { + "text/plain": "'../../../data/w2v/gensim_luna_stem_t_cbow_50.kv'" + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 50 dimension with cbow method\n", + "train_vector(sif_items, \"../../../data/w2v/gensim_luna_stem_t_\", 50, method=\"cbow\")" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 5, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "EduNLP, INFO Epoch #0: loss-0.0000 \n", + "EduNLP, INFO Epoch #1: loss-0.0000 \n", + "EduNLP, INFO Epoch #2: loss-0.0000 \n", + "EduNLP, INFO Epoch #3: loss-0.0000 \n", + "EduNLP, INFO Epoch #4: loss-0.0000 \n", + "EduNLP, INFO model is saved to ../../../data/w2v/gensim_luna_stem_t_fasttext_10.bin\n" + ] + }, + { + "data": { + "text/plain": "'../../../data/w2v/gensim_luna_stem_t_fasttext_10.bin'" + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 10 dimension with fasstext method\n", + "train_vector(sif_items, \"../../../data/w2v/gensim_luna_stem_t_\", 10, method=\"fasttext\")" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 6, + "outputs": [ + { + "data": { + "text/plain": "array([-0.16754825, 0.2707899 , 0.01005908, -0.03040857, 0.10938002,\n -0.28348687, 0.19054936, 0.41737646, -0.3885515 , -0.14650987,\n 0.1157743 , -0.2406684 , -0.11294927, 0.12082661, 0.1759571 ,\n 0.17807944, 0.07178611, -0.16182491, -0.18266837, -0.52223957,\n -0.05876796, 0.0450548 , 0.26906556, 0.02253102, 0.1025768 ,\n 0.29827935, -0.441235 , -0.06949052, -0.22638813, -0.10846554,\n -0.05917242, 0.12802479, 0.21151058, -0.4611071 , -0.16157094,\n 0.32488874, 0.36630565, -0.36908495, 0.24223483, -0.3510737 ,\n -0.15079798, 0.10832163, 0.00392658, -0.20019084, 0.18827583,\n -0.17247967, -0.27385622, 0.17878376, 0.05156241, 0.30575123,\n -0.16626868, 0.01431947, 0.05540735, 0.03373449, 0.36685058,\n -0.05511234, 0.09583379, -0.09495933, 0.01121055, 0.18113017,\n 0.29060405, 0.06472825, 0.20568778, -0.02780204, -0.17310621,\n 0.23243082, 0.2480153 , 0.07856195, -0.03825858, 0.10257348,\n -0.02105796, 0.4248383 , 0.03114873, -0.09995517, 0.16022007,\n 0.08843125, 0.06128069, -0.03922344, 0.02587396, 0.03067247,\n 0.1209543 , -0.05948736, -0.25567266, 0.53167033, -0.4149 ,\n 0.08551055, 0.42399153, 0.18317291, 0.12455773, -0.10759205,\n 0.17496923, 0.2781072 , 0.25744784, 0.1921185 , 0.43071204,\n 0.09138201, -0.37603223, -0.07436363, 0.2961049 , 0.02517671],\n dtype=float32)" + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from EduNLP.Vector import W2V\n", + "\n", + "w2v = W2V(\"../../../data/w2v/gensim_luna_stem_t_sg_100.kv\")\n", + "w2v[\"[FORMULA]\"]" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/examples/pretrain/gensim/w2v_stem_tf.ipynb b/examples/pretrain/gensim/w2v_stem_tf.ipynb new file mode 100644 index 00000000..0a549870 --- /dev/null +++ b/examples/pretrain/gensim/w2v_stem_tf.ipynb @@ -0,0 +1,386 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\env\\python3.8\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n", + "sifing: 792it [00:42, 18.83it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"①\" (9312) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"②\" (9313) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"③\" (9314) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"④\" (9315) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"二\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"项\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"式\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"所\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"成\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"角\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"的\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"正\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"弦\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"值\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"为\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"四\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"点\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n" + ] + }, + { + "data": { + "text/plain": "['埃及',\n '胡夫',\n '金字塔',\n '古代',\n '世界',\n '建筑',\n '奇迹',\n '形状',\n '视为',\n '正四',\n '棱锥',\n '以该',\n '四',\n '棱锥',\n '高为',\n '边长',\n '正方形',\n '面积',\n '等于',\n '四',\n '棱锥',\n '侧面',\n '三角形',\n '面积',\n '侧面',\n '三角形',\n '底边',\n '高',\n '底面',\n '正方形',\n '边长',\n '比值',\n '[FIGURE]',\n '[FIGURE]',\n '[FIGURE]',\n '[FIGURE]',\n '[FIGURE]']" + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import json\n", + "from tqdm import tqdm\n", + "\n", + "def load_items():\n", + " with open(\"../../../data/OpenLUNA.json\", encoding=\"utf-8\") as f:\n", + " for line in f:\n", + " yield json.loads(line)\n", + "\n", + "\n", + "from EduNLP.Pretrain import GensimWordTokenizer\n", + "\n", + "tokenizer = GensimWordTokenizer(symbol=\"gm\")\n", + "sif_items = []\n", + "for item in tqdm(load_items(), \"sifing\"):\n", + " sif_item = tokenizer(\n", + " item[\"stem\"]\n", + " )\n", + " if sif_item:\n", + " sif_items.append(sif_item.tokens)\n", + "\n", + "sif_items[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "outputs": [ + { + "data": { + "text/plain": "792" + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(sif_items)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 4, + "outputs": [], + "source": [ + "from EduNLP.Pretrain import train_vector" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 5, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "EduNLP, INFO Epoch #0: loss-0.0000 \n", + "EduNLP, INFO Epoch #1: loss-0.0000 \n", + "EduNLP, INFO Epoch #2: loss-0.0000 \n", + "EduNLP, INFO Epoch #3: loss-0.0000 \n", + "EduNLP, INFO Epoch #4: loss-0.0000 \n", + "EduNLP, INFO model is saved to ../../../data/w2v/gensim_luna_stem_tf_sg_100.kv\n" + ] + }, + { + "data": { + "text/plain": "'../../../data/w2v/gensim_luna_stem_tf_sg_100.kv'" + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 100 dimension with skipgram method\n", + "train_vector(sif_items, \"../../../data/w2v/gensim_luna_stem_tf_\", 100)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 6, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "EduNLP, INFO Epoch #0: loss-0.0000 \n", + "EduNLP, INFO Epoch #1: loss-0.0000 \n", + "EduNLP, INFO Epoch #2: loss-0.0000 \n", + "EduNLP, INFO Epoch #3: loss-0.0000 \n", + "EduNLP, INFO Epoch #4: loss-0.0000 \n", + "EduNLP, INFO model is saved to ../../../data/w2v/gensim_luna_stem_tf_cbow_50.kv\n" + ] + }, + { + "data": { + "text/plain": "'../../../data/w2v/gensim_luna_stem_tf_cbow_50.kv'" + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 50 dimension with cbow method\n", + "train_vector(sif_items, \"../../../data/w2v/gensim_luna_stem_tf_\", 50, method=\"cbow\")" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 7, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "EduNLP, INFO Epoch #0: loss-0.0000 \n", + "EduNLP, INFO Epoch #1: loss-0.0000 \n", + "EduNLP, INFO Epoch #2: loss-0.0000 \n", + "EduNLP, INFO Epoch #3: loss-0.0000 \n", + "EduNLP, INFO Epoch #4: loss-0.0000 \n", + "EduNLP, INFO model is saved to ../../../data/w2v/gensim_luna_stem_tf_fasttext_10.bin\n" + ] + }, + { + "data": { + "text/plain": "'../../../data/w2v/gensim_luna_stem_tf_fasttext_10.bin'" + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 10 dimension with fasstext method\n", + "train_vector(sif_items, \"../../../data/w2v/gensim_luna_stem_tf_\", 10, method=\"fasttext\")" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 8, + "outputs": [ + { + "data": { + "text/plain": "array([ 0.3322667 , -0.701586 , -0.6528301 , -0.02556002, 0.44070247,\n 0.44261315, 0.54466563, 0.8991576 , -1.0600986 , 0.19438864],\n dtype=float32)" + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from EduNLP.Vector import W2V\n", + "\n", + "w2v = W2V(\"../../../data/w2v/gensim_luna_stem_tf_fasttext_10.bin\", method=\"fasttext\")\n", + "w2v[\"[FIGURE]\"]" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/examples/pretrain/prepare_dataset.ipynb b/examples/pretrain/prepare_dataset.ipynb new file mode 100644 index 00000000..0f1acb0e --- /dev/null +++ b/examples/pretrain/prepare_dataset.ipynb @@ -0,0 +1,61 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "downloader, INFO http://base.ustc.edu.cn/data/OpenLUNA/OpenLUNA.json is saved as ..\\..\\data\\OpenLUNA.json\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading ..\\..\\data\\OpenLUNA.json 100.00%: 275142 | 275142\n" + ] + }, + { + "data": { + "text/plain": "'../../data/'" + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from EduData import get_data\n", + "\n", + "get_data(\"open-luna\", \"../../data/\")\n" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/examples/pretrain/seg_token/d2v.ipynb b/examples/pretrain/seg_token/d2v.ipynb new file mode 100644 index 00000000..12ee5a99 --- /dev/null +++ b/examples/pretrain/seg_token/d2v.ipynb @@ -0,0 +1,319 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\env\\python3.8\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n", + "sifing: 792it [00:51, 15.27it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"①\" (9312) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"②\" (9313) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"③\" (9314) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"④\" (9315) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"二\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"项\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"式\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"所\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"成\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"角\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"的\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"正\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"弦\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"值\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"为\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"四\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"点\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n" + ] + } + ], + "source": [ + "import warnings\n", + "from tqdm import tqdm\n", + "import json\n", + "from EduNLP.utils import dict2str4sif\n", + "\n", + "def load_items():\n", + " with open(\"../../../data/OpenLUNA.json\", encoding=\"utf-8\") as f:\n", + " for line in f:\n", + " yield json.loads(line)\n", + "\n", + "from EduNLP.Pretrain import GensimSegTokenizer\n", + "\n", + "tokenizer = GensimSegTokenizer(depth=None)\n", + "sif_items = []\n", + "for item in tqdm(load_items(), \"sifing\"):\n", + " keys = [\"stem\"]\n", + " item[\"options\"] = eval(item[\"options\"])\n", + " if item[\"options\"]:\n", + " keys.append(\"options\")\n", + " try:\n", + " item_str = dict2str4sif(\n", + " item,\n", + " key_as_tag=True,\n", + " add_list_no_tag=False,\n", + " keys=keys,\n", + " tag_mode=\"head\"\n", + " )\n", + " except TypeError:\n", + " continue\n", + " sif_item = tokenizer(\n", + " item_str\n", + " )\n", + " if sif_item:\n", + " sif_items.append(sif_item)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "outputs": [ + { + "data": { + "text/plain": "[['\\\\SIFTag{stem}'],\n ['已知', '集合'],\n ['mathord',\n '=',\n 'mathord',\n '\\\\mid',\n 'mathord',\n 'textord',\n '{ }',\n '^',\n '-',\n 'textord',\n 'mathord',\n '-',\n 'textord',\n '<',\n 'textord',\n '\\\\{',\n ',',\n 'mathord',\n '=',\n '\\\\{',\n '-',\n 'textord',\n ',',\n 'textord',\n ',',\n 'textord',\n ',',\n 'textord',\n '\\\\}',\n ','],\n ['mathord', '\\\\cap', 'mathord', '='],\n ['\\\\SIFTag{options}'],\n ['\\\\', '{', '\\\\'],\n ['\\\\', '{', '\\\\'],\n ['\\\\', '{', '\\\\'],\n ['\\\\', '{', '\\\\']]" + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sif_items[0]" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 3, + "outputs": [ + { + "data": { + "text/plain": "770" + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(sif_items)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": null, + "outputs": [], + "source": [ + "from EduNLP.Pretrain import train_vector\n", + "from gensim.models.doc2vec import TaggedDocument\n", + "\n", + "train_vector(\n", + " sif_items,\n", + " \"../../../data/w2v/gensim_luna_stem_tf_\",\n", + " 10\n", + ")" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/examples/pretrain/seg_token/d2v_d1.ipynb b/examples/pretrain/seg_token/d2v_d1.ipynb new file mode 100644 index 00000000..0e7047b2 --- /dev/null +++ b/examples/pretrain/seg_token/d2v_d1.ipynb @@ -0,0 +1,297 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\env\\python3.8\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n", + "sifing: 792it [00:52, 15.19it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"①\" (9312) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"②\" (9313) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"③\" (9314) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"④\" (9315) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"二\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"项\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"式\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"所\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"成\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"角\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"的\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"正\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"弦\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"值\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"为\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"四\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"点\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n" + ] + } + ], + "source": [ + "from tqdm import tqdm\n", + "import json\n", + "from EduNLP.utils import dict2str4sif\n", + "\n", + "def load_items():\n", + " with open(\"../../../data/OpenLUNA.json\", encoding=\"utf-8\") as f:\n", + " for line in f:\n", + " yield json.loads(line)\n", + "\n", + "from EduNLP.Pretrain import GensimSegTokenizer\n", + "\n", + "tokenizer = GensimSegTokenizer(depth=1)\n", + "sif_items = []\n", + "for item in tqdm(load_items(), \"sifing\"):\n", + " keys = [\"stem\"]\n", + " item[\"options\"] = eval(item[\"options\"])\n", + " if item[\"options\"]:\n", + " keys.append(\"options\")\n", + " try:\n", + " item_str = dict2str4sif(\n", + " item,\n", + " key_as_tag=True,\n", + " add_list_no_tag=False,\n", + " keys=keys,\n", + " tag_mode=\"head\"\n", + " )\n", + " except TypeError:\n", + " continue\n", + " sif_item = tokenizer(\n", + " item_str\n", + " )\n", + " if sif_item:\n", + " sif_items.append(sif_item)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "outputs": [ + { + "data": { + "text/plain": "[['\\\\SIFTag{stem}'],\n ['[TEXT_BEGIN]', '复数'],\n ['[FORMULA_BEGIN]',\n 'mathord',\n '=',\n 'textord',\n '+',\n 'textord',\n 'mathord',\n '+',\n 'mathord',\n 'textord',\n '{ }',\n '^'],\n ['[TEXT_BEGIN]'],\n ['[FORMULA_BEGIN]', 'textord', 'mathord', 'textord', '='],\n ['\\\\SIFTag{options}'],\n ['[TEXT_BEGIN]'],\n ['\\\\SIFSep'],\n ['[TEXT_BEGIN]'],\n ['\\\\SIFSep'],\n ['[FORMULA_BEGIN]', 'textord', '{ }', '\\\\sqrt'],\n ['\\\\SIFSep'],\n ['[TEXT_BEGIN]']]" + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sif_items[1]" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + }, + { + "cell_type": "code", + "execution_count": 4, + "outputs": [ + { + "data": { + "text/plain": "770" + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(sif_items)" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/examples/pretrain/seg_token/d2v_d2.ipynb b/examples/pretrain/seg_token/d2v_d2.ipynb new file mode 100644 index 00000000..6ecc5216 --- /dev/null +++ b/examples/pretrain/seg_token/d2v_d2.ipynb @@ -0,0 +1,274 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "d:\\env\\python3.8\\lib\\site-packages\\gensim\\similarities\\__init__.py:15: UserWarning: The gensim.similarities.levenshtein submodule is disabled, because the optional Levenshtein package is unavailable. Install Levenhstein (e.g. `pip install python-Levenshtein`) to suppress this warning.\n", + " warnings.warn(msg)\n", + "sifing: 792it [00:54, 14.51it/s]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"①\" (9312) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"②\" (9313) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"③\" (9314) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"④\" (9315) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"二\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"项\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"式\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \":\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"所\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"成\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"角\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"的\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"正\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"弦\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"值\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"为\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"则\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"四\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"点\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"(\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \")\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "\"LaTeX-incompatible input and strict mode is set to 'warn': Too few columns specified in the {array} column argument. [textEnv]\"\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unrecognized Unicode character \"﹣\" (65123) [unknownSymbol]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \",\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \">\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n", + "'LaTeX-incompatible input and strict mode is set to \\'warn\\': Unicode text character \"<\" used in math mode [unicodeTextInMathMode]'\n" + ] + } + ], + "source": [ + "from tqdm import tqdm\n", + "import json\n", + "from EduNLP.utils import dict2str4sif\n", + "\n", + "def load_items():\n", + " with open(\"../../../data/OpenLUNA.json\", encoding=\"utf-8\") as f:\n", + " for line in f:\n", + " yield json.loads(line)\n", + "\n", + "from EduNLP.Pretrain import GensimSegTokenizer\n", + "\n", + "tokenizer = GensimSegTokenizer(depth=2)\n", + "sif_items = []\n", + "for item in tqdm(load_items(), \"sifing\"):\n", + " keys = [\"stem\"]\n", + " item[\"options\"] = eval(item[\"options\"])\n", + " if item[\"options\"]:\n", + " keys.append(\"options\")\n", + " try:\n", + " item_str = dict2str4sif(\n", + " item,\n", + " key_as_tag=True,\n", + " add_list_no_tag=False,\n", + " keys=keys,\n", + " tag_mode=\"head\"\n", + " )\n", + " except TypeError:\n", + " continue\n", + " sif_item = tokenizer(\n", + " item_str\n", + " )\n", + " if sif_item:\n", + " sif_items.append(sif_item)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "outputs": [ + { + "data": { + "text/plain": "[['\\\\SIFTag{stem}'],\n ['[TEXT_BEGIN]', '复数'],\n ['[FORMULA_BEGIN]',\n 'mathord',\n '=',\n 'textord',\n '+',\n 'textord',\n 'mathord',\n '+',\n 'mathord',\n 'textord',\n '{ }',\n '^'],\n ['[TEXT_BEGIN]'],\n ['[FORMULA_BEGIN]', 'textord', 'mathord', 'textord', '='],\n ['\\\\SIFTag{options}'],\n ['[TEXT_BEGIN]'],\n ['\\\\SIFSep'],\n ['[TEXT_BEGIN]'],\n ['\\\\SIFSep'],\n ['[FORMULA_BEGIN]', 'textord', '{ }', '\\\\sqrt'],\n ['\\\\SIFSep'],\n ['[TEXT_BEGIN]']]" + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sif_items[1]" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + } + } + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.6" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file diff --git a/examples/sif/sci4sif.py b/examples/sif/sci4sif.py index 6e6c14b1..3ebaa394 100644 --- a/examples/sif/sci4sif.py +++ b/examples/sif/sci4sif.py @@ -26,7 +26,7 @@ # print(sif4sci(item, tokenization_params={"formula_params": {"method": "ast", "return_type": "ast"}})) # print(sif4sci(item, tokenization_params={"formula_params": {"method": "ast", "return_type": "formula"}})) -e = r"$x$ 是 $y$ 那么 $y$ 和 $z$ 是什么 $x,y,z$" +# e = r"$x$ 是 $y$ 那么 $y$ 和 $z$ 是什么 $x,y,z$" # print(sif4sci(e, symbol="gm", # tokenization_params={ # "formula_params": { @@ -46,6 +46,58 @@ # ] # link_formulas(*tls) # print(tls) -seg = sif4sci(e, tokenization=False) -with seg.filter(keep="t"): - print(seg) +# seg = sif4sci(e, tokenization=False) +# with seg.filter(keep="t"): +# print(seg) +# e = r'某校一个课外学习小组为研究某作物的发芽率y和温度x(单位:$^{\circ} \mathrm{C}$)的关系,在20个不同温度条件下进行种子发芽实验,由实验数据$\left(x_{i}, y_{i}\right)(i=1,2, \cdots, 20)$得到下面的散点图:由此散点图,在10$^{\circ} \mathrm{C}$至40$^{\circ} \mathrm{C}$之间,下面四个回归方程类型中最适宜作为发芽率y和温度x的回归方程类型的是$\FigureID{3bf20b91-8af1-11eb-86ff-b46bfc50aa29}$$\FigureID{59b851d3-8af1-11eb-bd45-b46bfc50aa29}$$\FigureID{6310d375-8b75-11eb-bf70-b46bfc50aa29}$$\FigureID{6a006175-8b76-11eb-aa57-b46bfc50aa29}$$\FigureID{088f15e7-8b7c-11eb-a8aa-b46bfc50aa29}$' +# # e = r"$x$ 是 $y$ 那么 $y$ 和 $z$ 是什么 $x,y,z$" + +# e = r'已知集合$A=\left\{x \mid x^{2}-3 x-4<0\right\}, \quad B=\{-4,1,3,5\}, \quad$ 则 $A \cap B=$' + +from EduNLP.utils import dict2str4sif + +test_item_1 = { + "stem": "已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$", + "options": ['\\{-4,1\\}', '\\{1,5\\}', '\\{3,5\\}', '\\{1,3\\}'], +} +e = dict2str4sif(test_item_1, tag_mode="head", add_list_no_tag=False) +seg = sif4sci( + e, + symbol="tfgmas", + tokenization_params={ + "formula_params": { + "method": "ast", "return_type": "list", "ord2token": True + } + }, + errors="raise" +) +print(seg.tokens) +# print(seg.get_segments()) +# +# import json +# from tqdm import tqdm +# +# +# def load_items(): +# with open("../../data/OpenLUNA.json", encoding="utf-8") as f: +# for line in f: +# yield json.loads(line) +# +# +# from EduNLP.SIF import sif4sci +# +# sif_items = [] +# for i, item in tqdm(enumerate(load_items()), "sifing"): +# if i > 100: +# break +# sif_item = sif4sci( +# item["stem"], +# symbol="gm", +# tokenization_params={"formula_params": { +# "method": "ast", +# "return_type": "list", +# "ord2token": True, +# }} +# ) +# if sif_item: +# sif_items.append(sif_item.tokens) diff --git a/pytest.ini b/pytest.ini index 8bf03888..603d9c8c 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,6 +1,6 @@ [pytest] # For pytest usage, refer to https://hb4dsai.readthedocs.io/zh/latest/Architecture/Test.html -norecursedirs = docs *build* trash dev examples EduNLP/Formula/viz EduNLP/Formula/ast +norecursedirs = docs *build* trash dev examples EduNLP/Formula/viz EduNLP/Formula/ast scripts # Deal with marker warnings markers = diff --git a/scripts/extlib/katex2python.py b/scripts/extlib/katex2python.py new file mode 100644 index 00000000..d3143b49 --- /dev/null +++ b/scripts/extlib/katex2python.py @@ -0,0 +1,35 @@ +# coding: utf-8 +# 2021/5/30 @ tongshiwei +from pathlib import PurePath +from fire import Fire +import requests +import js2py +import tempfile + + +def get_katex_from_url(version, tar): + katex_version = version + url = "https://cdn.jsdelivr.net/npm/katex@{}/dist/katex.js".format(katex_version) + ret = requests.get(url, allow_redirects=True) + assert ret.status_code == 200, ret.status_code + content = requests.get(url).content + tar.write(content) + return url + + +def update_katex_py(src=None, tar="katex.py"): + src = "katex.js" if src is None else src + if PurePath(src).suffix == ".js": + print("%s -> %s" % (src, tar)) + js2py.translate_file("katex.js", tar) + else: + with tempfile.NamedTemporaryFile() as tmp_tar: + print("katex version: %s" % src) + url = get_katex_from_url(src, tmp_tar) + src = tmp_tar.name + print("%s -> %s" % (url, tar)) + js2py.translate_file(src, tar) + + +if __name__ == '__main__': + Fire(update_katex_py) diff --git a/setup.py b/setup.py index 81b5b287..f4af34db 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,12 @@ from setuptools import setup, find_packages +pretrain_deps = [ + "gensim" +] +tutor_deps = [ + "pillow", + "tqdm" +] test_deps = [ 'pytest>=4', 'pytest-cov>=2.6.0', @@ -7,8 +14,8 @@ "pillow" ] -tutor_deps = [ - "pillow", +dev_deps = [ + "requests" ] setup( @@ -16,14 +23,16 @@ version='0.0.2', extras_require={ 'test': test_deps, - "tutor": tutor_deps + 'tutor': tutor_deps, + 'pretrain': pretrain_deps, + "dev": dev_deps }, packages=find_packages(), install_requires=[ 'networkx', 'numpy', 'jieba', - 'js2py' + 'js2py', ], # And any other dependencies foo needs entry_points={ }, diff --git a/tests/test_sif/test_tokenization.py b/tests/test_sif/test_tokenization.py index 120232f5..b904a71b 100644 --- a/tests/test_sif/test_tokenization.py +++ b/tests/test_sif/test_tokenization.py @@ -21,8 +21,8 @@ def test_formula_tokenization(): with pytest.raises(TypeError): formula.tokenize("1 + 1", method="plain") - with pytest.raises(TypeError): - formula.tokenize(r"\phantom{=}56+4", method="ast") + # with pytest.raises(TypeError): + # formula.tokenize(r"\phantom{=}56+4", method="ast") def test_tokenization(): diff --git a/tests/test_vec/__init__.py b/tests/test_vec/__init__.py new file mode 100644 index 00000000..b2f17c3d --- /dev/null +++ b/tests/test_vec/__init__.py @@ -0,0 +1,2 @@ +# coding: utf-8 +# 2021/5/30 @ tongshiwei diff --git a/tests/test_vec/conftest.py b/tests/test_vec/conftest.py new file mode 100644 index 00000000..23657c41 --- /dev/null +++ b/tests/test_vec/conftest.py @@ -0,0 +1,16 @@ +# coding: utf-8 +# 2021/5/30 @ tongshiwei + +import codecs +import json +import pytest +from EduNLP.utils import abs_current_dir, path_append + + +@pytest.fixture(scope="module") +def data(): + _data = [] + with codecs.open(path_append(abs_current_dir(__file__), "test.json", to_str=True), encoding="utf-8") as f: + for line in f.readlines(): + _data.append(json.loads(line)) + return _data diff --git a/tests/test_vec/test.json b/tests/test_vec/test.json new file mode 100644 index 00000000..2353178b --- /dev/null +++ b/tests/test_vec/test.json @@ -0,0 +1,792 @@ +{"stem": "已知集合$A=\\left\\{x \\mid x^{2}-3 x-4<0\\right\\}, \\quad B=\\{-4,1,3,5\\}, \\quad$ 则 $A \\cap B=$", "options": "['\\{-4,1\\}', '\\{1,5\\}', '\\{3,5\\}', '\\{1,3\\}']", "type": 6} +{"stem": "若复数$z=1+2 i+i^{3}$,则$|z|=$", "options": "['0', '1', '$\\sqrt{2}$', '2']", "type": 6} +{"stem": "埃及胡夫金字塔是古代世界建筑奇迹之一,它的形状可视为一个正四棱锥。以该四棱锥的高为边长的正方形面积等于该四棱锥一个侧面三角形的面积,则其侧面三角形底边上的高与底面正方形的边长的比值为$\\FigureID{3bf20b90-8af1-11eb-8bad-b46bfc50aa29}$$\\FigureID{59b851d2-8af1-11eb-b84e-b46bfc50aa29}$$\\FigureID{6310d374-8b75-11eb-8c4f-b46bfc50aa29}$$\\FigureID{6a006174-8b76-11eb-9c6a-b46bfc50aa29}$$\\FigureID{088f15e6-8b7c-11eb-9949-b46bfc50aa29}$", "options": "['$\\\\frac{\\\\sqrt{5}-1}{4}$', '$\\\\frac{\\\\sqrt{5}-1}{2}$', '$\\\\frac{\\\\sqrt{5}+1}{4}$', '$\\\\frac{\\\\sqrt{5}+1}{2}$']", "type": 6} +{"stem": "设O为正方形$ABCD$中心,在$O, A, B, C, D$中任取3点,则取到的3点共线的概率为", "options": "['$\\\\frac{1}{5}$', '$\\\\frac{2}{5}$', '$\\\\frac{1}{2}$', '$\\\\frac{4}{5}$']", "type": 6} +{"stem": "某校一个课外学习小组为研究某作物的发芽率y和温度x(单位:$^{\\circ} \\mathrm{C}$)的关系,在20个不同温度条件下进行种子发芽实验,由实验数据$\\left(x_{i}, y_{i}\\right)(i=1,2, \\cdots, 20)$得到下面的散点图:由此散点图,在10$^{\\circ} \\mathrm{C}$至40$^{\\circ} \\mathrm{C}$之间,下面四个回归方程类型中最适宜作为发芽率y和温度x的回归方程类型的是$\\FigureID{3bf20b91-8af1-11eb-86ff-b46bfc50aa29}$$\\FigureID{59b851d3-8af1-11eb-bd45-b46bfc50aa29}$$\\FigureID{6310d375-8b75-11eb-bf70-b46bfc50aa29}$$\\FigureID{6a006175-8b76-11eb-aa57-b46bfc50aa29}$$\\FigureID{088f15e7-8b7c-11eb-a8aa-b46bfc50aa29}$", "options": "['$y=a+b x$', '$y=a+b x^{2}$', '$y=a+b e^{x}$', '$y=a+b \\\\ln x$']", "type": 6} +{"stem": "已知圆$x^{2}+y^{2}-6 x=0$,过点(1,2)的直线被该圆所截得的弦的长度的最小值为", "options": "['1', '2', '3', '4']", "type": 6} +{"stem": "设函数$f(x)=\\cos \\left(\\omega x+\\frac{\\pi}{6}\\right)$ 在 $[-\\pi, \\pi]$的图像大致如下图,则$f(x)$的最小周期为$\\FigureID{3bf20b92-8af1-11eb-a0fd-b46bfc50aa29}$$\\FigureID{59b88b3e-8af1-11eb-a322-b46bfc50aa29}$$\\FigureID{63113d12-8b75-11eb-bdfd-b46bfc50aa29}$$\\FigureID{6a006176-8b76-11eb-aab8-b46bfc50aa29}$$\\FigureID{088f15e8-8b7c-11eb-8a85-b46bfc50aa29}$", "options": "['$\\\\frac{10 \\\\pi}{9}$', '$\\\\frac{7 \\\\pi}{6}$', '$\\\\frac{4\\\\pi}{3}$', '$\\\\frac{3 \\\\pi}{2}$']", "type": 6} +{"stem": "设对数$a \\log _{3} 4=2,$ 则 $4^{-a}=$", "options": "['$\\\\frac{1}{16}$', '$\\\\frac{1}{9}$', '$\\\\frac{1}{8}$', '$\\\\frac{1}{6}$']", "type": 6} +{"stem": "执行右面的程序框图,则输出的n=$\\FigureID{3bf20b93-8af1-11eb-b205-b46bfc50aa29}$$\\FigureID{59b88b3f-8af1-11eb-9450-b46bfc50aa29}$$\\FigureID{63116570-8b75-11eb-b694-b46bfc50aa29}$$\\FigureID{6a006177-8b76-11eb-9ac0-b46bfc50aa29}$$\\FigureID{088f15e9-8b7c-11eb-959f-b46bfc50aa29}$", "options": "{'1': '9', '2': '3'}", "type": 6} +{"stem": "设$\\left\\{a_{n}\\right\\}$是等比数列,且$a_{1}+a_{2}+a_{3}=1, a_{2}+a_{3}+a_{4}=2,$ 则 $a_{6}+a_{7}+a_{8}=$", "options": "{'1': '2', '2': '4', '3': '2'}", "type": 6} +{"stem": "设$F_{1}, F_{2}$是双曲线$C: x^{2}-\\frac{y^{2}}{3}=1$的两个焦点,$O$为坐标原点,点$P$在$C$上且$|O P|=2$,则$\\triangle P F_{1} F_{2}$的面积为", "options": "['$\\\\frac{7}{2}$', '3', '$\\\\frac{5}{2}$', '2']", "type": 6} +{"stem": "已知$A, B, C$为球$O$的球面上的三个点,$\\odot O_{1}$ 为 $\\triangle A B C$ 的外接圆,若 $\\odot O_{1}$ 的面积为 $4 \\pi$,$A B=B C=A C=O O_{1},$ 则球 $O$ 的表面积为", "options": "['$64 \\\\pi$', '$48 \\\\pi$', '$36 \\\\pi$', '$32 \\\\pi$']", "type": 6} +{"stem": "若$x,y$满足约束条件$\\left\\{\\begin{array}{c}2 x+y-2 \\leq 0 \\ x-y-1 \\geq 0 \\ y+1 \\geq 0\\end{array}\\right.$,则$z=x+7 y$的最大值为$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "设向量$a=(1,-1), \\quad b=(m+1,2 m-4)$,若$a \\perp b$,则$m=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "曲线$y=\\ln x+x+1$的一条切线的斜率为2,则该切线的方程为_______", "options": "[]", "type": 2} +{"stem": "数列$\\left\\{a_{n}\\right\\}$满足$a_{n+2}+(-1)^{n} a_{n}=3 n-1$,前16项和为540,则$\\left\\{a_{1}\\right\\}=$_______", "options": "[]", "type": 2} +{"stem": "某厂接受了一项加工业务,加工出来的产品(单位:件)按标准分为$A, B, C, D$四个等级。加工业务约定:对于A级品,B级品,C级品,厂家每件分别收取加工费90元,50元,20元;对于D级品,厂家每件要赔偿原料损失费50元。该厂有甲、乙两个分厂可承接加工业务,甲分厂加工成本费为25元/件,乙分厂加工成本费为20元/件。厂家为决定由哪个分厂承接加工业务,在两个分厂各试加工了100件这种产品,并统计了这些产品的等级,整理如下:分别估计甲、乙两分厂加工出来的一件产品为A级品的概率;分别求甲、乙两分厂加工出来的100件产品的平均利润,以平均利润为依据,厂家应选哪个分厂承接加工业务?", "options": "[]", "type": 4} +{"stem": "$\\triangle A B C$ 的内角为 $A, \\quad B, \\quad C$的对边分别为$a, b, c$,已知$B=150^{\\circ}$。若$a=\\sqrt{3} c, \\quad b=2 \\sqrt{7}, \\quad$ 求 $\\triangle A B C$ 的面积;若$\\sin A+\\sqrt{3} \\sin C=\\frac{\\sqrt{2}}{2}, \\quad$ 求 $C$", "options": "[]", "type": 4} +{"stem": "如图,$D$ 为圆锥的顶点,O是圆锥底面的圆心,$\\triangle A B C$是底面的内接正三角形,$P$ 为DO上一点,$\\angle A P C=90^{\\circ}$。证明:平面$P A B \\perp$平面$P A C $设$D O=\\sqrt{2}$,圆锥的侧面积为$\\sqrt{3} \\pi$,求三棱锥$P-A B C$的体积。$\\FigureID{3bf20b94-8af1-11eb-b971-b46bfc50aa29}$$\\FigureID{59b8b3ba-8af1-11eb-91d4-b46bfc50aa29}$$\\FigureID{63117634-8b75-11eb-b90f-b46bfc50aa29}$$\\FigureID{6a006178-8b76-11eb-84a0-b46bfc50aa29}$$\\FigureID{088f15ea-8b7c-11eb-897e-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=e^{x}-a(x+2)$当$a=1$时,讨论$f(x)$的单调性;若$f(x)$有两个零点,求a的取值范围", "options": "[]", "type": 4} +{"stem": "已知A,B分别为椭圆$E: \\frac{x^{2}}{a^{2}}+y^{2}=1 \\quad a>1$的左、右顶点,$G$ 为$E$的上顶点, $\\overrightarrow{A G} \\cdot \\overrightarrow{G B}=8$。$P$为直线$x=6$的动点,$P A $与$ E$的另一交点为 $C$, $PB$与$E$的另一交点为$D$求$E$的方程证明:直线$CD$过定点", "options": "[]", "type": 4} +{"stem": "[选修4-4:坐标系与参数方程]\n在直角坐标系$xOy$中,曲线$C_1$的参数方程为$\\left\\{\\begin{array}{l}x=\\cos ^{k} t \\ y=\\sin ^{k} t\\end{array}\\right.$(t为参数),以坐标原点为极点,x轴正半轴为极轴建立极坐标系,曲线$C_2$的极坐标方程为$4 \\rho \\cos \\theta-16 \\rho \\sin \\theta+3=0$当$k=1$时,$C_1$是什么曲线?当$k=4$时,求$C_1$与$C_2$的公共点的直角坐标", "options": "[]", "type": 4} +{"stem": "[选修4-5:不等式选讲]\n已知函数$f(x)=|3 x+1|-2|x|$画出$y=f(x)$的图像求不等式$f(x)>f(x+1)$的解集$\\FigureID{3bf2ddf4-8af1-11eb-b750-b46bfc50aa29}$$\\FigureID{59b8bd14-8af1-11eb-93a5-b46bfc50aa29}$$\\FigureID{63118b3a-8b75-11eb-a5c0-b46bfc50aa29}$$\\FigureID{6a006179-8b76-11eb-b386-b46bfc50aa29}$$\\FigureID{088f15eb-8b7c-11eb-a86f-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "1. 已知集合 $A=\\{x||x|<3, x \\in Z\\}, \\quad B=\\{x||x|>1, x \\in \\mathbf{Z}\\}, \\quad$ 则 $A \\cap B=$", "options": "['$\\\\varnothing$', '$\\\\{-3,-2,2,3\\\\}$', '$\\\\{-2,0,2\\\\}$', '$\\\\{-2,2\\\\}$']", "type": 6} +{"stem": "复数 $(1-i)^{4}=$", "options": "['-4', '4', '$-4i$', '$4i$']", "type": 6} +{"stem": "如图,将钢琴上的 12 个键依次记为 $a_{1}, a_{2}, \\cdots a_{12},$ 设 $1 \\leq i \\leq j \\leq k \\leq 12$.若 $k-j=3$ 且 $j-i=4$,\n则称 $a_{i}, a_{j}, a_{k}$ 为原位大三和弦; 若 $k-j=4$ 且 $j-i=3,$ 则称 $a_{i}, a_{j}, a_{k}$ 为原位小三和弦. 用这12 个键可以构成的原位大三和弦与原位小三和弦的个数之和为 组合$\\FigureID{3bf2e300-8af1-11eb-8c06-b46bfc50aa29}$$\\FigureID{59b8bd15-8af1-11eb-a072-b46bfc50aa29}$$\\FigureID{0890127e-8b7c-11eb-8c56-b46bfc50aa29}$", "options": "['5', '8', '10', '15']", "type": 6} +{"stem": "在新冠肺炎疫情防控期间,某超市开通网上销售业务,每天能完成 1200 份订单的配货,由于订单量大幅增加,导致订单积压。为解决困难,许多志愿者踊跃报名参加配货工作。已知该超市某日积压 500 份订单未配货,预计第二天的新订单超过 1600 份的概率为 0.05,志愿者每人每天能完成 50 份订单的配货,为使第二天完成积医订单及当日订单的配货的椎率不小于 0.95,则至少需要志愿者", "options": "['10名', '18名', '24名', '32名']", "type": 6} +{"stem": "已知单位向量 $a, b$ 的夹角为 $60^{\\circ},$ 则下列向量中,与 $b$ 垂直的是", "options": "['$a+2b$', '$2a+b$', '$a-2b$', '$2a-b$']", "type": 6} +{"stem": "记 $S_{n}$ 为等比数列 $\\left\\{a_{n}\\right\\}$ 的前 $n$ 项和. 若 $a_{5}-a_{3}=12, \\quad a_{6}-a_{4}=24,$ 则 $\\frac{S_{n}}{a_{n}}=$", "options": "['$2^{n}-1$', '$2-2^{1-n}$', '$2-2^{n-1}$', '$2^{1-n}-1$']", "type": 6} +{"stem": "执行右面的程序框图,若输入 $k=0, \\quad a=0,$ 则输出的 $k$ 为$\\FigureID{3bf30514-8af1-11eb-9ac1-b46bfc50aa29}$$\\FigureID{59b8ecd0-8af1-11eb-aeef-b46bfc50aa29}$$\\FigureID{08903994-8b7c-11eb-a14c-b46bfc50aa29}$", "options": "['2', '3', '4', '5']", "type": 6} +{"stem": "若过点 (2,1)的圆与两坐标轴都相切,则圆心到直线 $2x-y-3=0$ 的距离为", "options": "['$\\\\frac{\\\\sqrt{5}}{5}$', '$\\\\frac{2\\\\sqrt{5}}{5}$', '$\\\\frac{3\\\\sqrt{5}}{5}$', '$\\\\frac{4\\\\sqrt{5}}{5}$']", "type": 6} +{"stem": "设O为坐标原点,直线 $x=a$ 与双曲线 $\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1(a>0, b>0)$ 的两条渐近线分别交于$D, E$ 两点.若 $\\Delta O D E$ 的面积为 $8,$ 则 $C$ 的焦距的最小值为", "options": "['4', '8', '16', '32']", "type": 6} +{"stem": "设函数 $f(x)=x^{3}-\\frac{1}{x^{3}},$ 则 $f(x)$", "options": "['是奇函数,且在 $(0,+\\\\infty)$ 单调递增', '是奇函数,且在 $(0,+\\\\infty)$ 单调递减', '是偶函数,且在 $(0,+\\\\infty)$ 单调递增', '是偶函数,且在 $(0,+\\\\infty)$ 单调递减']", "type": 6} +{"stem": "已知 $\\triangle A B C$ 是面积为 $\\frac{9 \\sqrt{3}}{4}$ 的等边三角形,且其顶点都在球 $O$ 的球面上,若球 $O$ 的表面积为16 $\\pi,$ 则 $O$ 到平面 $A B C$ 的距离为", "options": "['$\\\\sqrt{3}$', '$\\\\frac{3}{2}$', '1', '$\\\\frac{\\\\sqrt{3}}{2}$']", "type": 6} +{"stem": "对数函数 导数 若 $2^{x}-2^{y}<3^{-x}-3^{-y}$,则", "options": "['$\\\\ln (y-x+1)>0$', '$\\\\ln (y-x+1)<0$', '$\\\\ln |x-y|>0$', '$\\\\ln |x-y|<0$']", "type": 6} +{"stem": "若 $\\sin x=-\\frac{2}{3},$ 则 $\\cos 2 \\mathrm{x}=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "记 $S_{n}$为等差数列 $\\left\\{a_{n}\\right\\}$ 的前 $n$ 项和,若 $a_{1}=-2, \\quad a_{2}+a_{6}=2,$ 则 $S_{10}=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "若 $x, y$ 满足约束条件$\\left\\{\\begin{array}{l}x+y \\geq-1 \\ x-y \\geq-1 \\ 2 x-y \\leq 1\\end{array}\\right.$,则 $z=x+2 y$ 的最大值是$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "设有下列四个命题:\n$p_{1}:$ 两两相交且不过同一点的三条直线必在同一平面内.\n$p_{2}:$ 过空间中任意三点有且仅有一一个平面.\n$p_{3}:$ 若空间两条直线不相交,则这两条直线平行.\n$p_{4}:$ 若直线 $l \\subset$ 平面 $\\alpha,$ 直线 $m \\perp$ 平面 $\\alpha,$ 则 $m \\perp l$.\n则下述命题中所有真命题的序号是$\\SIFBlank$\n$①p_{1} \\wedge p_{4}$ $②p_{1} \\wedge p_{2}$ $③\\neg p_{2} \\vee p_{3}$ $④\\neg p_{3} \\vee \\neg p_{4}$ ", "options": "[]", "type": 2} +{"stem": "$\\Delta A B C$ 的内角 $A, B, C$ 的对边分别为 $a, b, c, \\quad$ 已知 $\\cos ^{2}\\left(\\frac{\\pi}{2}+A\\right)+\\cos A=\\frac{5}{4}$求 $A$$b-c=\\frac{\\sqrt{3}}{3} a,$ 证明: $\\Delta A B C$ 是直角三角形", "options": "[]", "type": 4} +{"stem": "某沙漠地区经过治理,生态系统得到很大改普,野生动物数量有所增加.为调查该地区\n某种野生动物的数量,将其分成面积相近的 200 个地块,从这些地块中用简单随机抽样\n的方法抽取 20 个作为样区,调查得到样本数据 $\\left(x_{i}, y_{i}\\right)(i=1,2, \\cdots, 20),$ 其中 $x_{i}$ 和 $y_{i}$ 分\n别表示第 $i$ 个样区的植物覆盖面积(单位:公顷)和这种野生动物的数量,并计算得$\\sum_{i=1}^{20} x_{i}=60 \\quad, \\quad \\sum_{i=1}^{20} y_{i}=1200 \\quad, \\quad \\sum_{i=1}^{20}\\left(x_{i}-\\bar{x}\\right)^{2}=80 \\quad, \\quad \\sum_{i=1}^{20}\\left(\\mathrm{y}_{i}-\\bar{y}\\right)^{2}=9000$\n$\\sum_{i=1}^{20}\\left(x_{i}-\\bar{x}\\right)\\left(\\mathrm{y}_{i}-\\bar{y}\\right)=800$求该地区这种野生动物数量的估计值(这种野生动物数量的估计值等于样区这种野生动物数量的平均数乘以地块数);求样本 $\\left(x_{i}, y_{i}\\right)(i=1,2, \\cdots, 20)$ 的相关系数(精确到 0.01 )根据现有统计资料,各地块间植物覆盖面积差异很大.为提高样本的代表性以获得该地区这种野生动物数量更准确的估计,请给出一种你认为更合理的抽样方法,并说明理由。附:相关系数 $r=\\frac{\\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)\\left(\\mathrm{y}_{i}-\\bar{y}\\right)}{\\sqrt{\\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)^{2} \\sum_{i=1}^{n}\\left(\\mathrm{y}_{i}-\\bar{y}\\right)^{2}}}, \\quad \\sqrt{2} \\approx 1.414$", "options": "[]", "type": 4} +{"stem": "已知椭圆 $C_{1}: \\frac{x^{2}}{a^{2}}+\\frac{y^{2}}{b^{2}}=1(a>b>0)$ 的右焦点 $F$ 与拋物线 $C_{2}$ 的焦点重合 $, \\quad C_{1}$ 的中心\n与C_的顶点重合,过F 且与 $x$ 轴垂直的直线交 $C_{1}$ 于 $A, B$ 两点,交 $C_{2}$ 于C,D 两点\n$|C D|=\\frac{4}{3}|AB|$求 $C_{1}$ 的离心率;若 $C_{1}$ 的四个顶点到 $C_{2}$ 的准线距离之和为12,求 $C_{1}$ 与 $C_{2}$ 的标准方程.", "options": "[]", "type": 4} +{"stem": "如图,已知三棱柱 $A B C-A_{1} B_{1} C_{1}$ 的底面是正三角形,例面 $B B_{1} C_{1} C$ 是矩形, $M, N$ 分别\n为BC $, B_{1} C_{1}$ 的中点, $P$ 为 $A M$ 上一点,过 $B_{1} C_{1}$ 和 $P$ 的平面交 $A B$ 于 $E,$ 交 $A C$ 于 $F$\n证明: $A A_{1} / / M N , $ 且平面 $A_{1} A M N \\perp$ 平面 $E B_{1} C_{1} F$设 $O$ 为 $\\Delta A_{1} B_{1}C_{1}$ 的中心,若 $AO=A B=6, AO$ // 平面 $EB_{1} C_{1} F,$ 且 $\\angle M P N=\\frac{\\pi}{3}$,求四棱雉 $B-E B_{1} C_{1} F$ 的体积.$\\FigureID{3bf31d4a-8af1-11eb-bc20-b46bfc50aa29}$$\\FigureID{59b8ecd1-8af1-11eb-b68c-b46bfc50aa29}$$\\FigureID{08905bb6-8b7c-11eb-b2ae-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知函数 $f(x)=2 \\ln x+1$若 $f(x) \\leq 2 x+c,$ 求c的取值范野设 $a>0,$ 讨论函数 $g(x)=\\frac{f(x)-f(a)}{x-a}$ 的单调性.", "options": "[]", "type": 4} +{"stem": "已知 $C_{1}, C_{2}$ 的参数方程分别为 $C_{1}:\\left\\{\\begin{array}{l}x=4 \\cos ^{2} \\theta \\ y=4 \\sin ^{2} \\theta\\end{array},(\\theta \\text { 为参数 }), C_{2}:\\left\\{\\begin{array}{l}x=t+\\frac{1}{t} \\ y=t-\\frac{1}{t}\\end{array},(t \\text { 为参数 })\\right.\\right.$将 $C_{1}, \\quad C_{2}$ 的参数方程化为普通方程 以坐标原点为极点, x轴正半轴为极轴建立极坐标系,设 $C_{1}, \\quad C_{2}$ 的交点为 $P,$ 求圆心在极轴上,且经过极点和 P的圆的极坐标方程。", "options": "[]", "type": 4} +{"stem": "$f(x)=\\left|x-a^{2}\\right|+|x+2 a-1|$当 $a=2$ 时,求不等式 $f(x) \\geq 4$ 的解集.$f(x) \\geq 4,$ 求 $a$ 的取值范固.", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\{1,2,3,5,7,11\\}, \\quad B=\\{x \\mid 30)$ 交于D, E两点,若 $O D \\perp O E$,则 $C$的焦点坐标为", "options": "['$\\\\left(\\\\frac{1}{4}, 0\\\\right)$', '$\\\\left(\\\\frac{1}{2}, 0\\\\right)$', '$\\\\left(1, 0\\\\right)$', '$\\\\left(2, 0\\\\right)$']", "type": 6} +{"stem": "点 (0,1) 到直线 $y=k(x+1)$ 距离的最大值为", "options": "['$1$', '$\\\\sqrt{2}$', '$\\\\sqrt{3}$', '$2$']", "type": 6} +{"stem": "右图为某几何体的三视图,则该几何体的表面积是$\\FigureID{3bf344b6-8af1-11eb-90bb-b46bfc50aa29}$$\\FigureID{59b92b46-8af1-11eb-947e-b46bfc50aa29}$$\\FigureID{08905bb7-8b7c-11eb-838f-b46bfc50aa29}$", "options": "['$6+4\\\\sqrt{2}$', '$4+4\\\\sqrt{2}$', '$6+2\\\\sqrt{3}$', '$4+2\\\\sqrt{3}$']", "type": 6} +{"stem": "设对数 $a=\\log _{3} 2, b=\\log _{5} 3, c=\\frac{2}{3}$,则", "options": "['$a0, b>0)$ 的一条渐近线为 $y=\\sqrt{2} x$, 则 $C$ 的离心率为$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "设函数 $f(x)=\\frac{e^{x}}{x+a},$ 若 $f^{\\prime}(1)=\\frac{e}{4},$ 则 $a=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "已知圆锥的底面半径为1,母线长为3,则该圆锥内半径最大的球的体积_______", "options": "[]", "type": 2} +{"stem": "设等比数列 $\\left\\{a_{n}\\right\\}$ 满足 $a_{1}+a_{2}=4, a_{3}-a_{1}=8$求 $\\left\\{a_{n}\\right\\}$ 的通项公式记 $S_{n}$ 为数列 $\\left\\{\\log _{3} a_{n}\\right\\}$ 的前 $\\mathrm{n}$ 项和. 若 $S_{m}+S_{m+1}=S_{m+3},$ 求 $m$", "options": "[]", "type": 4} +{"stem": "某学生兴趣小组随机调查了某市100天中每天的空气质量等级和当天到某公园锻炼的人次,整理数据得到下表(单位:天):\n附: $\\quad K^{2}=\\frac{n(a d-b c)^{2}}{(a+b)(c+d)(a+c)(b+d)}$分别估计该市一天的空气质量等级为1,2,3,4的概率求一天中到该公园锻炼的平均人次的估计值(同一组中的数据用该组区间的中点值为代表)若某天的空气质量等级为1或2,则称这天“空气质量好”;若某天的空气质量等级为3或4,则称这天“空气质量不好”。根据所给数据,完成下面的2x2列联表,并根据列联表,判断是否有95%的把握认为一天中到该公园锻炼的人次与该市当天的空气质量有关?", "options": "[]", "type": 4} +{"stem": "如图,长方形$A B C D-A_{1} B_{1} C_{1} D_{1}$中, 点 $E , F$ 分别在棱$D D_{1}, B B_{1}$上,且$2 D E=E D_{1}, B F=2 F B_{1}$, 证明 :当$A B=B C$ 时, $E F \\perp A C$点 $C_{1}$ 在平面 $A E F$ 内$\\FigureID{3bf36bcc-8af1-11eb-affd-b46bfc50aa29}$$\\FigureID{59b93b0c-8af1-11eb-947d-b46bfc50aa29}$$\\FigureID{08907e58-8b7c-11eb-bd5a-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知函数 $f(x)=x^{3}-k x+k^{2}$讨论 $f(x)$ 的单调性:若 $f(x)$ 有三个零点, 求 $k$ 的取值范围", "options": "[]", "type": 4} +{"stem": "已知椭圆 $C: \\frac{x^{2}}{25}+\\frac{y^{2}}{m^{2}}=1(00)$ 上一点,点 $A$ 到 $C$ 的焦点的距离为12,到 $y$ 轴的距离为9,则 p=", "options": "['2', '3', '6', '9']", "type": 6} +{"stem": "某校一个课外学习小组为研究某作物种子的发芽率 $y$ 和温度 $x$(单位:$^{\\circ} \\mathrm{C}$)的关系,在20个不同的温度条件下进行种子发芽实验,由实验数据$\\left(x_{i}, y_{i}\\right)(i=1,2, \\cdots, 20)$得到下面的散点图:\n由此散点图,在10$^{\\circ} \\mathrm{C}$至40$^{\\circ} \\mathrm{C}$之间,下面四个回归方程类型中最适宜作为发芽率$y$和温度$x$的回归方程类型的是$\\FigureID{3bf392d2-8af1-11eb-a7df-b46bfc50aa29}$$\\FigureID{59b9621e-8af1-11eb-8fc7-b46bfc50aa29}$$\\FigureID{08907e5a-8b7c-11eb-9e69-b46bfc50aa29}$", "options": "['$y=a+b x$', '$y=a+b x^{2}$', '$y=a+b e^{x}$', '$y=a+b \\\\ln x$']", "type": 6} +{"stem": "函数 $f(x)=x^{4}-2 x^{3}$ 的图像在点 $(1, f(1))$ 处的切线方程为", "options": "['$y=-2 x-1$', '$y=-2 x+1$', '$y=2 x-3$', '$y=2 x+1$']", "type": 6} +{"stem": "设函数 $f(x)=\\cos \\left(\\omega x+\\frac{\\pi}{6}\\right)$ 在 $[-\\pi, \\pi]$ 的图像大致如下图,则 $f(x)$ 的最小正周期为$\\FigureID{3bf392d3-8af1-11eb-a886-b46bfc50aa29}$$\\FigureID{59b9621f-8af1-11eb-af0a-b46bfc50aa29}$$\\FigureID{08909400-8b7c-11eb-93b1-b46bfc50aa29}$", "options": "['$\\\\frac{10 \\\\pi}{9}$', '$\\\\frac{7 \\\\pi}{6}$', '$\\\\frac{4 \\\\pi}{3}$', '$\\\\frac{3 \\\\pi}{2}$']", "type": 6} +{"stem": "二项式 $\\left(x+\\frac{y^{2}}{x}\\right)(x+y)^{5}$ 的展开式中 $x^{3} y^{3}$ 的系数为", "options": "['5', '10', '15', '20']", "type": 6} +{"stem": "已知 $\\alpha \\in(0, \\pi)$,且 $3 \\cos \\alpha-8 \\cos \\alpha=5,$ 则 $\\sin \\alpha=$", "options": "['$\\\\frac{\\\\sqrt{5}}{3}$', '$\\\\frac{2}{3}$', '$\\\\frac{1}{3}$', '$\\\\frac{\\\\sqrt{5}}{9}$']", "type": 6} +{"stem": "已知 $A,B,C$ 为球 $O$ 的球面上的三个点, $\\quad \\odot O_{1}$ 为 $\\Delta A B C$ 的外接圆,若 $\\odot O_{1}$ 的面积为 $4 \\pi$,$A B=B C=A C=OO_{1}\\quad$,则球 $O$ 的表面积为$\\FigureID{3bf3bcb6-8af1-11eb-9096-b46bfc50aa29}$$\\FigureID{59b98918-8af1-11eb-9ea7-b46bfc50aa29}$$\\FigureID{08909401-8b7c-11eb-97ba-b46bfc50aa29}$", "options": "['$64 \\\\pi$', '$48 \\\\pi$', '$36 \\\\pi$', '$32 \\\\pi$']", "type": 6} +{"stem": "已知 $\\odot M : x^{2}+y^{2}-2 x-2 y-2=0,$ 直线 $l: 2 x+y+2=0, P$ 为 $l$ 上的动点,过点 $P$ 作 $\\odot M$ 的切线 $P A$,$P B,$ 且切点为 $A, B,$ 当| $P M|\\cdot| A B \\mid$ 最小时,直线 $A B$ 的方程为", "options": "['$2 x-y-1=0$', '$2 x+y-1=0$', '$2 x-y+1=0$', '$2 x+y+1=0$']", "type": 6} +{"stem": "指数函数 对数函数 若 $2^{a}+\\log _{2} a=4^{b}+2 \\log _{4} b,$ 则", "options": "['$a>2 b$', '$a<2 b$', '$a>b^{2}$', '$a0, b>0)$ 的右焦点, $A$ 为 $C$ 的右顶点, $B$ 为C 上的点且 $B F$ 垂直于 $x$ \n轴. 若 $A B$ 的斜率为3,则C 的离心率为", "options": "[]", "type": 2} +{"stem": "如图,在三棱锥 $P-A B C$ 的平面展开图中, $A C=1, \\quad A B=A D=\\sqrt{3}, \\quad A B \\perp A C, \\quad A B \\perp A D$ 40$\\cos \\angle C A E=30,$ 別 $\\cos \\angle F C B=$", "options": "[]", "type": 2} +{"stem": "设 $\\left\\{a_{n}\\right\\}$ 是公比不为 1 的等比数列, $a_{1}$ 为 $a_{2}, \\quad a_{3}$ 的等差中项.求 $\\left\\{a_{n}\\right\\}$ 的公比;若 $a_{1}=1,$ 求数列 $\\left\\{n a_{n}\\right\\}$ 的前 $n$ 项和.", "options": "[]", "type": 4} +{"stem": "如图,$D$为圆锥的顶点,$O$是圆锥底面的圆心,$AE$ 为底面直径,AE = AD。 $\\triangle ABC$ 是底面的内接正三角形, $P$ 为$DO$上一点, $P O=\\frac{\\sqrt{6}}{6} D O$证明: $\\quad P A \\perp$ 平面 $P B C$;求二面角 $B-P C-E$ 的余弦值.$\\FigureID{3bf3bcb7-8af1-11eb-91e3-b46bfc50aa29}$$\\FigureID{59b98919-8af1-11eb-9476-b46bfc50aa29}$$\\FigureID{08909402-8b7c-11eb-984b-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "甲、乙、两三位同学进行羽毛球比赛,颈定赛制如下:\n累计负两场者被淘汰; 比赛前抽签决定首次比赛的两个人,另一人轮空; 每场比赛的胜者与轮空者\n进行下一场比赛,负者下一场轮空,直至有一人淘汰; 当一人被淘汰后,剩余的两人继实比赛,直至其中一人被淘汰,另一人最终获胜,比赛结束。\n经抽签,甲、乙首先比赛,两轮空. 设每场比赛双方获胜的概率都为 $\\frac{1}{2}$求甲连胜四场的概率;求需要进行第五场比赛的概率;求丙最终获胜的概率.", "options": "[]", "type": 4} +{"stem": "已知 $A, B$ 分别为椭圆 $E: \\frac{x^{2}}{a^{2}}+y^{2}=1(a>1)$ 的左、右顶点, $G$ 为$E$的上顶点 $, \\overrightarrow{A G} \\cdot \\overrightarrow{G B}=8, P$ 为直线 $x=6$ 上的动点, $P A$ 与$E$的另一交点为C, $P B$ 与$E$的另一交点为 $D$求E的方程;证明:直线CD过定点.", "options": "[]", "type": 4} +{"stem": "已知函数 $f(x)=\\mathrm{e}^{x}+a x^{2}-x$.(1)当 $a=1$ 时,讨论 $f(x)$ 的单调性;(2) 当 $x \\geq 0$ 时, $f(x) \\geq \\frac{1}{2} x^{3}+1,$ 求 $a$ 的取值范围.", "options": "[]", "type": 4} +{"stem": "在直角坐标系xOy 中,曲线 $C_{1}$ 的参数方程为$\\left\\{\\begin{array}{l}x=\\cos ^{k} t \\ y=\\sin ^{k} t\\end{array}\\right.$ ($t$为参数),以坐标原点为极点,$x$ 轴正半轴为极轴建立极坐标系,曲线 $C_{2}$ 的极坐标方程为 $4 \\rho \\cos \\theta-16 \\rho \\sin \\theta+3=0$当 $k=1$ 时, $C_{1}$ 是什么曲线?当 $k=4$ 时,齐 $C_{1}$ 与 $C_{2}$ 的公共点的直角坐标.", "options": "[]", "type": 4} +{"stem": "已知函数 $f(x)=|3 x+1|-2|x-1|$画出 $y=f(x)$ 的图像;求不等式 $f(x)>f(x+1)$ 的解集.", "options": "[]", "type": 4} +{"stem": "已知集合$U=\\{-2,-1,0,1,2,3\\}$,$A=\\{-1,0,1\\}$,$B=\\{1,2\\}$,则$C_{U}(A \\cup B)=$", "options": "['$\\\\{-2,3\\\\}$', '$\\\\{-2,2,3\\\\}$', '$\\\\{-2,-1,0,3\\\\}$', '$\\\\{-2,-1,0,2,3\\\\}$']", "type": 6} +{"stem": "若$\\alpha$为第四象限角,则", "options": "['$\\\\cos 2 \\\\alpha>0$', '$\\\\cos 2 \\\\alpha<0$', '$\\\\sin 2 \\\\alpha>0$', '$\\\\sin 2 \\\\alpha<0$']", "type": 6} +{"stem": "在新冠肺炎疫情防控期间,某超市开通网上销售业务,每天能完成1200份订单的配货,由于订单量大幅度增加,导致订单积压,为解决困难,许多志愿者踊跃报名参加配货工.已知该超市某日积压500份订单未配货,预计第二天新订单是1600份的概率为0.05,志愿者每人每天能完成50份订单的配货,为使第二天积压订单及当日订单的配货概率不小于0.95,则至少需要志愿者", "options": "['10名', '18名', '24名', '32名']", "type": 6} +{"stem": "北京天坛的圆丘坛为古代祭天的场所,分上、中、下三层,上层中心有一块圆形石板 (称为天心石),环绕天心石砌9块扇面形石板构成第一环,向外每环依次增加 9 块,下一层的第一环比上一层的最后一环多 9 块, 向外每环依次也增加 9 块,已知每层环数相同,且下层比中层多 729 块,则三层共有扇形面形石板 (不含天心石)$\\FigureID{3bf3bcb8-8af1-11eb-99db-b46bfc50aa29}$$\\FigureID{59b9b018-8af1-11eb-a3c9-b46bfc50aa29}$$\\FigureID{08909403-8b7c-11eb-9a3a-b46bfc50aa29}$", "options": "['3699块', '3474块', '3402块', '3339块']", "type": 6} +{"stem": "若过点$(2,1)$的圆与两坐标轴都相切,则圆心到直线$2x- y-3=0$的距离为", "options": "['$\\\\frac{\\\\sqrt{5}}{5}$', '$\\\\frac{2\\\\sqrt{5}}{5}$', '$\\\\frac{3\\\\sqrt{5}}{5}$', '$\\\\frac{4\\\\sqrt{5}}{5}$']", "type": 6} +{"stem": "数列 $\\left\\{a_{n}\\right\\}$中,$a_{1}=2$,$a_{m+n}=a_{m} a_{n}$,若 $a_{k+1}+a_{k+2}+\\cdots+a_{k+10}=2^{15}-2^{5}$,则 $k=$", "options": "['2', '3', '4', '5']", "type": 6} +{"stem": "右边图是一个多面体的三视图,这个多面体某条棱的一个端点在正视图中对应的点为 $M$,在俯视图中对应的点为$N$,则该端点在侧视图中对应的点为$\\FigureID{3bf3e56c-8af1-11eb-b989-b46bfc50aa29}$$\\FigureID{59b9b019-8af1-11eb-b7e4-b46bfc50aa29}$$\\FigureID{08909404-8b7c-11eb-9fdb-b46bfc50aa29}$", "options": "['E', 'F', 'G', 'H']", "type": 6} +{"stem": "设$O$为坐标原点,直线$x=a$与双曲线C:$\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1(a>0, b>0)$的两条渐近线分别交于$D$,$E$两点,若$\\triangle O D E$的面积为8,则C的焦距的最小值为", "options": "['4', '8', '16', '32']", "type": 6} +{"stem": "设函数$f(x)=\\ln |2 x+1|-\\ln |2 x-1|$,则$f(x)$", "options": "['是偶函数,且在$\\\\left(\\\\frac{1}{2},+\\\\infty\\\\right)$单调递增', '是奇函数,且在$\\\\left(-\\\\frac{1}{2}, \\\\frac{1}{2}\\\\right)$单调递减', '是偶函数,且在$\\\\left(-\\\\infty,-\\\\frac{1}{2}\\\\right)$单调递增', '是奇函数,且在$\\\\left(-\\\\infty,-\\\\frac{1}{2}\\\\right)$单调递减']", "type": 6} +{"stem": "已知 $\\triangle A B C$ 是面积为 $\\frac{9 \\sqrt{3}}{4}$的等边三角形,且其顶点都在球 $O$ 的球面上,若球 $O$ 的表面积为$16 \\pi,$ 则$O$到平面$A B C$ 的距离为", "options": "['$\\\\sqrt{3}$', '$\\\\frac{3}{2}$', '$1$', '$\\\\frac{\\\\sqrt{3}}{2}$']", "type": 6} +{"stem": "导数 对数函数 若$2^{x}-2^{y}<3^{-x}-3^{-y}$,则", "options": "['$\\\\ln (y-x+1)>0$', '$\\\\ln (y-x+1)<0$', '$\\\\ln |x-y|>0$', '$\\\\ln |x-y|<0$']", "type": 6} +{"stem": "0-1周期序列在通信技术中有着重要应用,序列$a_{1} a_{2} \\cdots a_{n} \\cdots$ 满足 $a_{1} \\in\\{0,1\\}(i=1,2, \\cdots)$,且存在正整数$m$,使得 $a_{i+m}=a_{i}(i=1,2, \\cdots)$ 成立,则称其为0 -1周期数列,并称满足$a_{i+m}=a_{i}(i=1,2, \\cdots)$的最小正整数$m$为这个序列的周期.对于周期为$m$的0-1序列$a_{1} a_{2} \\cdots a_{n} \\cdots, C(k)=\\frac{1}{m} \\sum_{i=1}^{m} a_{i} a_{i+k}(k=1,2, \\cdots, m-1)$是描述其性质的重要指标.下列周期为5的0-1序列中,满足$C(k) \\leq \\frac{1}{5}(k=1,2,3,4)$的序列是", "options": "['$11010 \\\\ldots$', '$11011 \\\\ldots$', '$10001 \\\\ldots$', '$11001 \\\\ldots$']", "type": 6} +{"stem": "已知单位向量$\\mathbf{a}$,$\\mathbf{b}$的夹角为$45^{\\circ}$,$k\\mathbf{a}-\\mathbf{b}$与$\\mathbf{a}$垂直,则$k=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "排列 组合 4名同学到3个小区参加垃圾分类宣传活动,每名同学只去1个小区,每个小区至少安排1名学生,则不同的安排方法有_______种", "options": "[]", "type": 2} +{"stem": "设复数$z_{1}$,$z_{2}$满足$\\left|z_{1}\\right|=\\left|z_{2}\\right|=2$,$z_{1}+z_{2}=\\sqrt{3}+\\mathbf{i}$,则 $\\left|z_{1}-z_{2}\\right|=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "设有下列四个命题:\n$p_{1}$:两两相交且不过同一点的三条直线必在同一平面内.\n$p_{2}$:过空间中任意三点有且仅有一个平面.\n$p_{3}$:若空间两条直线不相交,则这两条直线平行.\n$p_{4}$:若直线 $l \\subset$ 平面 $\\alpha$,直线$m \\perp$平面$\\alpha$,则$m \\perp l$.\n则下列命题中所有真命题的序号是$\\SIFBlank$\n①$p_{1} \\wedge p_{4}$ ②$p_{1} \\wedge p_{2}$ ③$\\neg p_{2} \\vee p_{3}$ ④$\\neg p_{3} \\vee \\neg p_{4}$", "options": "[]", "type": 2} +{"stem": "$\\triangle A B C$中,$\\sin ^{2} A-\\sin ^{2} B-\\sin ^{2} C=\\sin B \\sin C$.求$A$;若$BC=3$,求$\\triangle A B C$周长的最大值.", "options": "[]", "type": 4} +{"stem": "某沙漠地区经过治理,生态系统得到很大改善,野生动物数量有所增加,为调查该地区某种野生动物的数量,将其分成面积相近的 200 个地块,从这些地块中用简单随机抽样的方法抽取 20 个作为样区,调查得到样本数据$\\left(x_{i}, y_{i}\\right)(i=1,2, \\cdots, 20)$,其中$x_{i}$ 和 $y_{i}$分别表示第$i$个样区的植物覆盖面积(单位: 公顷)和这种野生动物的数量,并计算得$\\sum_{i=1}^{20} x_{i}=60$,$\\sum_{i=1}^{20} y_{i}=1200$,$\\sum_{i=1}^{20}\\left(x_{i}-\\bar{x}\\right)^{2}=80$,$\\sum_{i=1}^{20}\\left(y_{i}-\\bar{y}\\right)^{2}=9000$,$\\sum_{i=1}^{20}\\left(x_{i}-\\bar{x}\\right)\\left(y_{i}-\\bar{y}\\right)=800$.求该地区这种野生动物数量的估计值(这种野生动物数量的估计值等于样区这种野生动物数量的平均数乘以地块数);求样本$\\left(x_{i}, y_{i}\\right)(i=1,2, \\cdots, 20)$的相关系数(精确到0.01);根据现有统计资料,各地块间植物短盖面积差异很大,为提高样本的代表性以获得该地区这种野生动物数量更准确的估计,请给出一种你认为更合理的抽样方法,并说明理由。\n附:相关系数:$r=\\frac{\\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)\\left(y_{i}-\\bar{y}\\right)}{\\sqrt{\\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)^{2} \\sum_{i=1}^{n}\\left(y_{i}-\\bar{y}\\right)^{2}}}$,$ \\sqrt{2} \\approx 1.414$", "options": "[]", "type": 4} +{"stem": "已知椭圆$C_{1}$:$\\frac{x^{2}}{a^{2}}+\\frac{y^{2}}{b^{2}}=1(a>b>0)$的右焦点$F$抛物线$C_{2}$的焦点重合.$C_{1}$ 的中心与$C_{2}$的顶点重合,过$F$且与$x$轴垂直的直线交$C_{1}$于$A$,$B$两点,交$C_{2}$于$C$,$D$两点,且$|C D|=\\frac{4}{3}|A B|$.求$C_{1}$的离心率;设$M$是$C_{1}$与$C_{2}$的公共点. 若 $|M F|=5,$ 求$C_{1}$与$C_{2}$的标准方程.", "options": "[]", "type": 4} +{"stem": "如图已知三棱柱 $A B C-A_{1} B_{1} C_{1}$ 的底面是正三角形,侧面$B B_{1} C_{1} C$ 是矩形,$M$,$N$分别为$B C$,$B_{1} C_{1}$的中点,$P$为$A M$ 上一点,过 $B_{1} C_{1}$和P的平面交$A B$于$E$,交$A C$于$F$.证明:$A A_{1} \\parallel M N$,且平面$A_{1} A M N \\perp$平面$E B_{1} C_{1} F$;设$O$为$A_{1} B_{1} C_{1}$ 的中心,若$A O\\parallel$面$E B_{1} C_{1} F$,且$A O=A B$,求直线$B_{1} E$与平面$A_{1} AMN$所成角的正弦值.$\\FigureID{3bf40b00-8af1-11eb-b89b-b46bfc50aa29}$$\\FigureID{59b9c168-8af1-11eb-b239-b46bfc50aa29}$$\\FigureID{08909405-8b7c-11eb-a7ec-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=\\sin ^{2} x \\sin 2 x$.讨论$f(x)$在$(0, \\pi)$上的单调性;证明:$|f(x)| \\leq \\frac{3 \\sqrt{3}}{8}$;证明:$\\sin ^{2} x \\sin ^{2} 2 x \\sin ^{2} 4 x \\ldots \\sin ^{2} 2^{n} x \\leq \\frac{3^{n}}{4^{n}}$.", "options": "[]", "type": 4} +{"stem": "已知$C_{1}$,$C_{2}$的参数方程为$C_{1}$:$\\left\\{\\begin{array}{l}x=4 \\cos ^{2} \\theta \\ y=4 \\sin ^{2} \\theta\\end{array}\\right.$,($\\theta$ 为参数),$C_{2}$:$\\left\\{\\begin{array}{l}x=t+\\frac{1}{t} \\ y=t-\\frac{1}{t}\\end{array}\\right.$,($t$ 为参数).将$C_{1}$,$C_{2}$的参数方程化为普通方程;以坐标原点为极点,$x$轴正半轴为极轴建立极坐标系,设 $C_{1}$,$C_{2}$ 的交点为 $P$,求圆心在极轴上,且经过极点和$P$的圆的极坐标方程", "options": "[]", "type": 4} +{"stem": "$f(x)=\\left|x-a^{2}\\right|+|x+2 a-1|$当$a=2$时,求不等式$f(x) \\geq 4$ 的解集;$f(x) \\geq 4,$ 求$a$的取值范固.", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\left\\{(x, y) \\mid x, y \\in N^{*}, y \\geqslant x\\right\\}$,$B=\\{(x, y) \\mid x+y=8\\}$,则$A \\cap B$中的元素的个数为", "options": "['2', '3', '4', '6']", "type": 6} +{"stem": "复数$\\frac{1}{1-3 i}$的虚部是", "options": "['$-\\\\frac{3}{10}$', '$-\\\\frac{1}{10}$', '$\\\\frac{1}{10}$', '$\\\\frac{3}{10}$']", "type": 6} +{"stem": "在一组样本数据中,1,2,3,4出现的概率分别为$p_{1}, p_{2}, p_{3}, p_{4}$,且$\\sum_{i=1}^{4} p_{i}=1$,则下面四种情形中,对应样本的标准差最大的一组是", "options": "['$p_{1}=p_{4}=0.1, \\\\quad p_{2}=p_{3}=0.4$', '$p_{1}=p_{4}=0.4, \\\\quad p_{2}=p_{3}=0.1$', '$p_{1}=p_{4}=0.2, \\\\quad p_{2}=p_{3}=0.3$', '$p_{1}=p_{4}=0.3, \\\\quad p_{2}=p_{3}=0.1$']", "type": 6} +{"stem": "指数函数 对数函数 Logistic模型是常用数学模型之一,可应用于流行病学领域. 有学者根据公布数据建立了某地区新冠肺炎累计确诊病例数$I(t)$(t的单位:天)的Logistic模型:$I(t)=\\frac{K}{1+e^{-3x(t-5)}}$,其中K为最大确诊病例数,当$I\\left(t^{*}\\right)=0.95 K$时,标志着已初步遏制疫情,则$t^{*}$约为$(\\ln 19 \\approx 3)$", "options": "{'6': '9'}", "type": 6} +{"stem": "设O为坐标原点,直线x=2与抛物线$C:y^{2}=2 p x(p>0)$交于D, E两点。若$O D \\perp O E$, 则C的焦点坐标为", "options": "['$\\\\left(\\\\frac{1}{4}, 0\\\\right)$', '$\\\\left(\\\\frac{1}{2}, 0\\\\right)$', '$\\\\left(1, 0\\\\right)$', '$\\\\left(2, 0\\\\right)$']", "type": 6} +{"stem": "已知向量$a, b$满足$|a|=5 , |b|=6 , a \\cdot b=-6$,则$\\cos \\langle a, a+b\\rangle=$", "options": "['$-\\\\frac{31}{35}$', '$-\\\\frac{19}{35}$', '$\\\\frac{17}{35}$', '$\\\\frac{19}{35}$']", "type": 6} +{"stem": "在$\\triangle A B C$中, $\\cos C=\\frac{2}{3}, A C=4, B C=3$\n, 则$ \\cos B=$", "options": "['$\\\\frac{1}{9}$', '$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '$\\\\frac{2}{3}$']", "type": 6} +{"stem": "右图为某几何体的三视图,该几何体的表面积是$\\FigureID{3bf40b01-8af1-11eb-a705-b46bfc50aa29}$$\\FigureID{59b9e88c-8af1-11eb-983c-b46bfc50aa29}$$\\FigureID{08909406-8b7c-11eb-8b89-b46bfc50aa29}$", "options": "['$6+4 \\\\sqrt{2}$', '$4+4 \\\\sqrt{2}$', '$6+2 \\\\sqrt{3}$', '$4+2 \\\\sqrt{3}$']", "type": 6} +{"stem": "已知$2 \\tan \\theta-\\tan \\left(\\theta+\\frac{\\pi}{4}\\right)=7$,则$\\tan \\theta=$", "options": "['-2', '-1', '1', '2']", "type": 6} +{"stem": "若直线$l$与曲线$y=\\sqrt{x}$和圆$x^{2}+y^{2}=\\frac{1}{5}$都相切,则$l$的方程为", "options": "['$y=2 x+1$', '$y=2 x+\\\\frac{1}{2}$', '$y=\\\\frac{1}{2} x+1$', '$y=\\\\frac{1}{2} x+\\\\frac{1}{2}$']", "type": 6} +{"stem": "设双曲线$C: \\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1(a>0, b>0)$的左、右焦点分别为$F_{1}, F_{2}$,离心率为$\\sqrt{5}$. P是C上一点,且$F_{1} P \\perp F_{2} P$. 若$\\triangle P F_{1} F_{2}$的面积为4,则$a=$", "options": "['1', '2', '4', '8']", "type": 6} +{"stem": "对数函数 已知$5^{5}<8^{4}, 13^{4}<8^{5}$,设$a=\\log _{3} 3, \\quad b=\\log _{3} 5, \\quad c=\\log _{13} 8$,则", "options": "['$a1\\end{array}\\right.$,且$f(a)=-3$,则$f(6-a)=(\\quad)$", "options": "['$-\\\\frac{7}{4}$', '$-\\\\frac{5}{4}$', '$-\\\\frac{3}{4}$', '$-\\\\frac{1}{4}$']", "type": 6} +{"stem": "圆柱被一个平面截去一部分后与半球(半径为r)组成一个几何体,该几何体三视图中的正视图和俯视图如图所示.若该几何体的表面积为16+20π,则r=(  )$\\FigureID{3bf48023-8af1-11eb-a4ca-b46bfc50aa29}$$\\FigureID{59ba6668-8af1-11eb-92c5-b46bfc50aa29}$$\\FigureID{0890940b-8b7c-11eb-bbe6-b46bfc50aa29}$", "options": "['1', '2', '4', '8']", "type": 6} +{"stem": "设函数$y=f(x)$的图象与$y=2^{x^{+} a}$的图象关于$y=-x$对称,且$f(-2)+f(-4)=1$,则a=(  )", "options": "['-1', '1', '2', '4']", "type": 6} +{"stem": "在数列$\\left\\{a_{n}\\right\\}$中,$a_{1}=2, \\quad a_{n+1}=2 a_{n}$,$S_{n}$为$\\left\\{a_{n}\\right\\}$的前n项和,若$S_{n}=126$,则$n=$_______", "options": "[]", "type": 2} +{"stem": "已知函数$f(x)=a x^{3}+x+1$的图象在点(1,f(1))处的切线过点(2,7),则a=_______", "options": "[]", "type": 2} +{"stem": "若x,y满足约束条件$\\left\\{\\begin{array}{l}x+y-2 \\leqslant 0 \\ x-2 y+1 \\leq 0 \\ 2 x-y+2 \\geqslant 0\\end{array}\\right.$,则z=3x+y的最大值为_______", "options": "[]", "type": 2} +{"stem": "已知F是双曲线$c: x^{2}-\\frac{y^{2}}{8}=1$的右焦点,P是C的左支上一点,$A(0,6 \\sqrt{6})$.当$\\triangle \\mathrm{APF}$周长最小时,该三角形的面积为_______", "options": "[]", "type": 2} +{"stem": "已知a,b,c分别是$\\triangle \\mathrm{ABC}$内角A,B,C的对边,$\\sin ^{2} \\mathrm{B}=2 \\sin \\mathrm{A} \\sin \\mathrm{C}$. 若a=b,求cosB;设$\\mathrm{B}=90^{\\circ}$,且$a=\\sqrt{2}$,求$\\triangle \\mathrm{ABC}$的面积.", "options": "[]", "type": 4} +{"stem": "如图,四边形ABCD为菱形,G为AC与BD的交点,BE⊥平面ABCD.证明:平面AEC⊥平面BED;若∠ABC=120°,AE⊥EC,三棱锥E﹣ACD的体积为$\\frac{\\sqrt{6}}{3}$求该三棱锥的侧面积.$\\FigureID{3bf48024-8af1-11eb-9a73-b46bfc50aa29}$$\\FigureID{59ba6669-8af1-11eb-a9e7-b46bfc50aa29}$$\\FigureID{0890940c-8b7c-11eb-abcc-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "某公司为确定下一年度投入某种产品的宣传费,需了解年宣传费x(单位:千元)对年销售量y(单位:t)和年利润z(单位:千元)的影响,对近8年的年宣传费xi和年销售量yi(i=1,2,…,8)数据作了初步处理,得到下面的散点图及一些统计量的值.根据散点图判断,$y=a+b x$与$y=c+d \\sqrt{x}$哪一个适宜作为年销售量y关于年宣传费x的回归方程类型?(给出判断即可,不必说明理由)根据(Ⅰ)的判断结果及表中数据,建立y关于x的回归方程;已知这种产品的年利润z与x、y的关系为z=0.2y﹣x.根据(Ⅱ)的结果回答下列问题:\n(i)年宣传费x=49时,年销售量及年利润的预报值是多少?\n(ii)年宣传费x为何值时,年利润的预报值最大?$\\FigureID{3bf4ae78-8af1-11eb-8f95-b46bfc50aa29}$$\\FigureID{59ba8d50-8af1-11eb-a081-b46bfc50aa29}$$\\FigureID{0890940d-8b7c-11eb-bd67-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知过点A(0,1)且斜率为k的直线l与圆C:$(x-2)^{2}+(y-3)^{2}=1$交于点M、N两点.求k的取值范围;若$\\overrightarrow{\\mathrm{OM}} \\cdot \\overrightarrow{\\mathrm{ON}}=12$,其中O为坐标原点,求|MN|.", "options": "[]", "type": 4} +{"stem": "设函数$f(x)=e^{2 x}-a \\ln x$.讨论f(x)的导函数f′(x)零点的个数;证明:当a>0时,$f(x) \\geqslant 2 a+a \\ln \\frac{2}{a}$", "options": "[]", "type": 4} +{"stem": "如图,AB是⊙O的直径,AC是⊙O的切线,BC交⊙O于点E.若D为AC的中点,证明:DE是⊙O的切线;若$\\mathrm{OA}=\\sqrt{3} \\mathrm{CE}$,求∠ACB的大小.$\\FigureID{3bf4ae79-8af1-11eb-b13e-b46bfc50aa29}$$\\FigureID{59ba8d51-8af1-11eb-943d-b46bfc50aa29}$$\\FigureID{0890940e-8b7c-11eb-be0e-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系xOy中,直线$C_{1}: \\quad x=-2, \\quad$ 圆 $C_{2}:(x-1)^{2}+(y-2)^{2}=1$,以坐标原点为极点,x轴的正半轴为极轴建立极坐标系.求$\\mathrm{C}_{1}, \\mathrm{C}_{2}$的极坐标方程;若直线$\\mathrm{C}_{3}$的极坐标方程为$\\theta=\\frac{\\pi}{4}(\\rho \\in R)$,设$\\mathrm{C}_{2}$与$\\mathrm{C}_{3}$的交点为M,N,求$\\triangle \\mathrm{C}_{2} \\mathrm{MN}$的面积.", "options": "[]", "type": 4} +{"stem": "已知函数f(x)=|x+1|﹣2|x﹣a|,a>0.当a=1时,求不等式f(x)>1的解集;若f(x)的图象与x轴围成的三角形面积大于6,求a的取值范围.", "options": "[]", "type": 4} +{"stem": "设集合A={1,3,5,7},B={x|2≤x≤5},则A∩B=(  )", "options": "['{1,3}', '{3,5}', '{5,7}', '{1,7}']", "type": 6} +{"stem": "设$(1+2 i)(a+i)$的实部与虚部相等,其中a为实数,则a等于(  )", "options": "['﹣3', '﹣2', '2', '3']", "type": 6} +{"stem": "为美化环境,从红、黄、白、紫4种颜色的花中任选2种花种在一个花坛中,余下的2种花种在另一个花坛中,则红色和紫色的花不在同一花坛的概率是(  )", "options": "['$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '$\\\\frac{2}{3}$', '$\\\\frac{5}{6}$']", "type": 6} +{"stem": "$\\triangle \\mathrm{ABC}$的内角A、B、C的对边分别为a、b、c.已知$a=\\sqrt{5}$,$c=2$,$\\cos A=\\frac{2}{3}$,则b=(  )", "options": "['$\\\\sqrt{2}$', '$\\\\sqrt{3}$', '2', '3']", "type": 6} +{"stem": "直线l经过椭圆的一个顶点和一个焦点,若椭圆中心到l的距离为其短轴长的$\\frac{1}{4}$ ,则该椭圆的离心率为(  )", "options": "['$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '$\\\\frac{2}{3}$', '$\\\\frac{3}{4}$']", "type": 6} +{"stem": "将函数$y=2 \\sin \\left(2 x+\\frac{\\pi}{6}\\right)$)的图象向右平移 $\\frac{1}{4}$个周期后,所得图象对应的函数为(  )", "options": "['$y=2 \\\\sin \\\\left(2 x+\\\\frac{\\\\pi}{4}\\\\right)$', '$y=2 \\\\sin \\\\left(2 x+\\\\frac{\\\\pi}{3}\\\\right)$', '$y=2 \\\\sin \\\\left(2 x-\\\\frac{\\\\pi}{4}\\\\right)$', '$y=2 \\\\sin \\\\left(2 x-\\\\frac{\\\\pi}{3}\\\\right)$']", "type": 6} +{"stem": "如图,某几何体的三视图是三个半径相等的圆及每个圆中两条相互垂直的半径.若该几何体的体积是$\\frac{28 \\pi}{3}$ ,则它的表面积是(  )$\\FigureID{3bf4dd58-8af1-11eb-9b66-b46bfc50aa29}$$\\FigureID{59bab44a-8af1-11eb-89e1-b46bfc50aa29}$$\\FigureID{0891551e-8b7c-11eb-9df8-b46bfc50aa29}$", "options": "['17π', '18π', '20π', '28π']", "type": 6} +{"stem": "若$a>b>0$,$0c^{b}$']", "type": 6} +{"stem": "函数$y=2 x^{2}-e^{|x|}$在[﹣2,2]的图象大致为(  )", "options": "['$\\\\LUNAPictureID{3bfd3dee-8af1-11eb-95a3-b46bfc50aa29}$$\\\\LUNAPictureID{59c2a566-8af1-11eb-8d91-b46bfc50aa29}$$\\\\LUNAPictureID{0896e41e-8b7c-11eb-8643-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfd3def-8af1-11eb-b2dd-b46bfc50aa29}$$\\\\LUNAPictureID{59c2ccb6-8af1-11eb-8544-b46bfc50aa29}$$\\\\LUNAPictureID{0896e41f-8b7c-11eb-b7df-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfd3df0-8af1-11eb-bf0d-b46bfc50aa29}$$\\\\LUNAPictureID{59c2ccb7-8af1-11eb-8c35-b46bfc50aa29}$$\\\\LUNAPictureID{0896e420-8b7c-11eb-9b31-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfd3df1-8af1-11eb-a34b-b46bfc50aa29}$$\\\\LUNAPictureID{59c2ccb8-8af1-11eb-82aa-b46bfc50aa29}$$\\\\LUNAPictureID{0896e421-8b7c-11eb-b676-b46bfc50aa29}$']", "type": 6} +{"stem": "执行下面的程序框图,如果输入的$x=0, \\quad y=1, \\quad n=1$,则输出$x$,$y$的值满足(  )$\\FigureID{3bf4dd59-8af1-11eb-bc95-b46bfc50aa29}$$\\FigureID{59bab44b-8af1-11eb-b221-b46bfc50aa29}$$\\FigureID{0891551f-8b7c-11eb-beff-b46bfc50aa29}$", "options": "['$y=2 x$', '$y=3 x$', '$y=4 x$', '$y=5 x$']", "type": 6} +{"stem": "平面$\\alpha$过正方体$\\mathrm{ABCD}-\\mathrm{A}_{1} \\mathrm{B}_{1} \\mathrm{C}_{1} \\mathrm{D}_{1}$的顶点$A$,$\\alpha / /$平面$\\mathrm{CB}_{1} \\mathrm{D}_{1}$,$\\alpha \\cap$平面$A B C D=m$,$\\alpha \\cap$平面$\\mathrm{ABB}_{1} \\mathrm{A}_{1}=\\mathrm{n}$,则$m, n$所成角的正弦值为(  )", "options": "['$\\\\frac{\\\\sqrt{3}}{2}$', '$\\\\frac{\\\\sqrt{2}}{2}$', '$\\\\frac{\\\\sqrt{3}}{3}$', '$\\\\frac{1}{3}$']", "type": 6} +{"stem": "若函数$f(x)=x-\\frac{1}{3} \\sin 2 x+\\operatorname{asin} x$在$(-\\infty,+\\infty)$单调递增,则$a$的取值范围是(  )", "options": "['[-1,1]', '$\\\\left[-1, \\\\frac{1}{3}\\\\right]$', '$\\\\left[-\\\\frac{1}{3}, \\\\frac{1}{3}\\\\right]$', '$\\\\left[-1,-\\\\frac{1}{3}\\\\right]$']", "type": 6} +{"stem": "设向量 $\\vec{a}=(x, x+1)$,$\\vec{b}=(1,2)$,且 $\\vec{a} \\perp \\vec{b}$ ,则$x=$ $\\SIFBlank$.", "options": "[]", "type": 2} +{"stem": "已知 $\\theta$ 是第四象限角,且$\\sin \\left(\\theta+\\frac{\\pi}{4}\\right)=\\frac{3}{5}$ ,则 $\\tan \\left(\\theta-\\frac{\\pi}{4}\\right)=$ $\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "设直线 $y=x+2 a$ 与圆 $C: x^{2}+y^{2}-2 a y-2=0$ 相交于 $A, B$ 两点,若$|A B|=2 \\sqrt{3}$ ,则圆 $C$ 的面积为$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "某高科技企业生产产品 $A$ 和产品 $B$ 需要甲、乙两种新型材料.生产一件产品 $A$ 需要甲材料$1.5 \\mathrm{kg}$,乙材料$1 \\mathrm{kg}$,用 $5$ 个工时;生产一件产品 $B$ 需要甲材料$0.5 \\mathrm{kg}$,乙材料 $0.3 \\mathrm{kg}$,用 $3$ 个工时,生产一件产品 $A$ 的利润为 $2100$ 元,生产一件产品 $B$ 的利润为 $900$ 元.该企业现有甲材料 $150 \\mathrm{kg}$,乙材料 $90 \\mathrm{kg}$,则在不超过 $600$ 个工时的条件下,生产产品 $A$ 、产品 $B$ 的利润之和的最大值为______元.", "options": "[]", "type": 2} +{"stem": "已知$\\left\\{a_{n}\\right\\}$是公差为$3$的等差数列,数列$\\left\\{b_{n}\\right\\}$满足$b_{1}=1, \\quad b_{2}=\\frac{1}{3}$ ,$a_{n} b_{n+1}+b_{n+1}=n b_{n}$.(Ⅰ)求$\\left\\{a_{n}\\right\\}$的通项公式(Ⅱ)求$\\left\\{b_{n}\\right\\}$的前$n$项和.", "options": "[]", "type": 4} +{"stem": "如图,已知正三棱锥$P-A B C$的侧面是直角三角形,$\\mathrm{PA}=6$,顶点$P$在平面$ABC$内的正投影为点$D$,$D$在平面$PAB$内的正投影为点$E$,连接$PE$并延长交$AB$于点$G$.证明:$G$是$AB$的中点;在图中作出点$E$在平面$PAC$内的正投影$F$(说明作法及理由),并求四面体$PDEF$的体积.", "options": "[]", "type": 4} +{"stem": "某公司计划购买$1$台机器,该种机器使用三年后即被淘汰.机器有一易损零件,在购进机器时,可以额外购买这种零件作为备件,每个$200$元.在机器使用期间,如果备件不足再购买,则每个$500$元.现需决策在购买机器时应同时购买几个易损零件,为此搜集并整理了$100$台这种机器在三年使用期内更换的易损零件数,得如图柱状图:\n记$x$表示$1$台机器在三年使用期内需更换的易损零件数,$y$表示$1$台机器在购买易损零件上所需的费用(单位:元),$n$表示购机的同时购买的易损零件数.(Ⅰ)若$n=19$,求$y$与$x$的函数解析式;(Ⅱ)若要求“需更换的易损零件数不大于$n$”的频率不小$0.5$,求$n$的最小值;(Ⅲ)假设这$100$台机器在购机的同时每台都购买$19$个易损零件,或每台都购买$20$个易损零件,分别计算这$100$台机器在购买易损零件上所需费用的平均数,以此作为决策依据,购买$1$台机器的同时应购买$19$个还是$20$个易损零件?$\\FigureID{3bf5044c-8af1-11eb-9e87-b46bfc50aa29}$$\\FigureID{59badbb6-8af1-11eb-a422-b46bfc50aa29}$$\\FigureID{08915520-8b7c-11eb-83b3-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系$xOy$中,直线 $l : \\quad y=t \\quad(t \\neq 0)$交$y$轴于点$M$,交抛物线 $C: \\quad y^{2}=2 p x(p>0)$于点$P,M$关于点$P$的对称点为$N$,连结$ON$并延长交$C$于点$H$.(Ⅰ)求 $\\frac{|O H|}{|O N|}$;(Ⅱ)除$H$以外,直线$MH$与$C$是否有其它公共点?说明理由.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=(x-2) e^{x}+a(x-1)^{2}$(Ⅰ)讨论$f(x)$的单调性;(Ⅱ)若$f(x)$有两个零点,求$a$的取值范围.", "options": "[]", "type": 4} +{"stem": "如图,$\\triangle O A B$是等腰三角形,$\\angle \\mathrm{AOB}=120^{\\circ}$.以$O$为圆心, $OA$为半径作圆.证明:直线$AB$与$\\odot O$相切;点$C,D$在$\\odot O$上,且$A,B,C,D$四点共圆,证明:$\\mathrm{AB} / / \\mathrm{CD}$.", "options": "[]", "type": 4} +{"stem": "在直角坐标系$xOy$中,曲线$C_{1}$的参数方程为 ($t$为参数,$a>0$).在以坐标原点为极点,$x$轴正半轴为极轴的极坐标系中,曲线$\\mathrm{C}_{2}: \\quad \\rho=4 \\cos \\theta$.(Ⅰ)说明$C_{1}$是哪种曲线,并将$C_{1}$的方程化为极坐标方程;(Ⅱ)直线$C_{3}$的极坐标方程为$\\theta=\\alpha_{0}$,其中$\\alpha_{0}$满足$\\tan \\alpha_{0}=2$,若曲线$C_{1}$与$C_{2}$的公共点都在$C_{3}$上,求$a$.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=|x+1|-|2 x-3|$.(Ⅰ)在图中画出$y=f(x)$的图象;(Ⅱ)求不等式$|f(x)|>1$的解集.", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\{x | x<2\\}$,$B=\\{x | 3-2 x>0\\}$,则(  )", "options": "['$A \\\\cap B=\\\\left\\\\{x | x<\\\\frac{3}{2}\\\\right\\\\}$', '$A \\\\cap B=\\\\varnothing$', '$A \\\\cup B=\\\\left\\\\{x | x<\\\\frac{3}{2}\\\\right\\\\}$', '$A \\\\cup B=R$']", "type": 6} +{"stem": "为评估一种农作物的种植效果,选了$n$块地作试验田.这n块地的亩产量(单位:$kg$)分别是$\\mathrm{X}_{1}, \\quad \\mathrm{X}_{2}, \\quad \\ldots, \\quad \\mathrm{X}_{n}$,下面给出的指标中可以用来评估这种农作物亩产量稳定程度的是(  )", "options": "['$\\\\mathrm{X}_{1}, \\\\quad \\\\mathrm{X}_{2}, \\\\quad \\\\ldots, \\\\quad \\\\mathrm{X}_{n}$的平均数', '$\\\\mathrm{X}_{1}, \\\\quad \\\\mathrm{X}_{2}, \\\\quad \\\\ldots, \\\\quad \\\\mathrm{X}_{n}$的标准差', '$\\\\mathrm{X}_{1}, \\\\quad \\\\mathrm{X}_{2}, \\\\quad \\\\ldots, \\\\quad \\\\mathrm{X}_{n}$的最大值', '$\\\\mathrm{X}_{1}, \\\\quad \\\\mathrm{X}_{2}, \\\\quad \\\\ldots, \\\\quad \\\\mathrm{X}_{n}$的中位数']", "type": 6} +{"stem": "下列各式的运算结果为纯虚数的是(  )", "options": "['$i (1+i)^{2}$', '$i^{2}(1-i)$', '$(1+i)^{2}$', '$i (1+i)$']", "type": 6} +{"stem": "如图,正方形$ABCD$内的图形来自中国古代的太极图.正方形内切圆中的黑色部分和白色部分关于正方形的中心成中心对称.在正方形内随机取一点,则此点取自黑色部分的概率是(  )$\\FigureID{3bf52b64-8af1-11eb-93d0-b46bfc50aa29}$$\\FigureID{59bb042e-8af1-11eb-8177-b46bfc50aa29}$$\\FigureID{08917c3a-8b7c-11eb-8926-b46bfc50aa29}$", "options": "['$\\\\frac{1}{4}$', '$\\\\frac{\\\\pi}{8}$', '$\\\\frac{1}{2}$', '$\\\\frac{\\\\pi}{4}$']", "type": 6} +{"stem": "已知$F$是双曲线$C: x^{2}-\\frac{y^{2}}{3}=1$的右焦点,$P$是$C$上一点,且$PF$与$x$轴垂直,点$A$的坐标是$(1,3)$,则$\\triangle \\mathrm{APF}$的面积为(  )", "options": "['$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '$\\\\frac{2}{3}$', '$\\\\frac{3}{2}$']", "type": 6} +{"stem": "如图,在下列四个正方体中,$A,B$为正方体的两个顶点,$M,N,Q$为所在棱的中点,则在这四个正方体中,直线$AB$与平面$MNQ$不平行的是(  )", "options": "['$\\\\LUNAPictureID{3bfd3df2-8af1-11eb-b864-b46bfc50aa29}$$\\\\LUNAPictureID{59c2f3ca-8af1-11eb-a246-b46bfc50aa29}$$\\\\LUNAPictureID{0896e422-8b7c-11eb-b0d5-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfd3df3-8af1-11eb-942a-b46bfc50aa29}$$\\\\LUNAPictureID{59c2f3cb-8af1-11eb-a9f9-b46bfc50aa29}$$\\\\LUNAPictureID{0896e423-8b7c-11eb-a3d8-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfd3df4-8af1-11eb-93bb-b46bfc50aa29}$$\\\\LUNAPictureID{59c2f3cc-8af1-11eb-9b94-b46bfc50aa29}$$\\\\LUNAPictureID{0896e424-8b7c-11eb-bc81-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfd3df5-8af1-11eb-943e-b46bfc50aa29}$$\\\\LUNAPictureID{59c2f3cd-8af1-11eb-9c65-b46bfc50aa29}$$\\\\LUNAPictureID{0896e425-8b7c-11eb-b9ed-b46bfc50aa29}$']", "type": 6} +{"stem": "设$x,y$满足约束条件$\\left\\{\\begin{array}{l}x+3 y \\leq 3 \\ x-y \\geq 1 \\ y \\geq 0\\end{array}\\right.$ ,则$z=x+y$的最大值为(  )", "options": "['$0$', '$1$', '$2$', '$3$']", "type": 6} +{"stem": "函数 $y=\\frac{\\sin 2 x}{1-\\cos x}$ 的部分图象大致为(  )", "options": "['$\\\\LUNAPictureID{3bfd3df6-8af1-11eb-965f-b46bfc50aa29}$$\\\\LUNAPictureID{59c2f3ce-8af1-11eb-ab1d-b46bfc50aa29}$$\\\\LUNAPictureID{0896e426-8b7c-11eb-b02e-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfd3df7-8af1-11eb-b2e4-b46bfc50aa29}$$\\\\LUNAPictureID{59c2f3cf-8af1-11eb-acb4-b46bfc50aa29}$$\\\\LUNAPictureID{0896e427-8b7c-11eb-9b5d-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfd6524-8af1-11eb-8be3-b46bfc50aa29}$$\\\\LUNAPictureID{59c2f3d0-8af1-11eb-aea9-b46bfc50aa29}$$\\\\LUNAPictureID{0896e428-8b7c-11eb-8047-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfd6525-8af1-11eb-b6d5-b46bfc50aa29}$$\\\\LUNAPictureID{59c2f3d1-8af1-11eb-b75c-b46bfc50aa29}$$\\\\LUNAPictureID{0896e429-8b7c-11eb-bf3a-b46bfc50aa29}$']", "type": 6} +{"stem": "已知函数$f(x)=\\ln x+\\ln (2-x)$,则(  )", "options": "['$f(x)$在$(0,2)$单调递增\\t', '$f(x)$在$(0,2)$单调递减', '$y=f(x)$的图象关于直线$x=1$对称\\t', '$y=f(x)$的图象关于点$(1,0)$对称\\t']", "type": 6} +{"stem": "如图程序框图是为了求出满足$3^{n}-2^{n}>1000$的最小偶数$n$,那么在 和 两个空白框中,可以分别填入(  )$\\FigureID{3bf55286-8af1-11eb-a50e-b46bfc50aa29}$$\\FigureID{59bb2b40-8af1-11eb-82d0-b46bfc50aa29}$$\\FigureID{08917c3b-8b7c-11eb-83f1-b46bfc50aa29}$", "options": "['$A>1000$和$n=n+1$', '$A>1000$和$n=n+2$', '$A≤1000$和$n=n+1$', '$A≤1000$和$n=n+2$']", "type": 6} +{"stem": "$\\triangle \\mathrm{ABC}$的内角$A,B,C$的对边分别为$a,b,c,$已知 $\\sin B+\\sin A(\\sin C-\\cos C)=0$,$a=2$,$c=\\sqrt{2}$ ,则$C=$(  )", "options": "['$\\\\frac{\\\\pi}{12}$', '$\\\\frac{\\\\pi}{6}$', '$\\\\frac{\\\\pi}{4}$', '$\\\\frac{\\\\pi}{3}$']", "type": 6} +{"stem": "设$A,B$是椭圆$c: \\frac{x^{2}}{3}+\\frac{y^{2}}{m}=1$长轴的两个端点,若$C$上存在点$M$满足$\\angle \\mathrm{AMB}=120^{\\circ}$,则$m$的取值范围是(  )", "options": "['(0,1]$\\\\cup[9,+\\\\infty)$', '$(0, \\\\sqrt{3}] \\\\cup[9,+\\\\infty)$', '$(0, 1] \\\\cup[4,+\\\\infty)$', '$(0, \\\\sqrt{3}] \\\\cup[4,+\\\\infty)$']", "type": 6} +{"stem": "已知向量 $\\vec{a}=(-1,2), \\vec{b}=(m, 1)$,若向量 $\\vec{a}+\\vec{b}$ 与 垂直,则$m=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "曲线$y=x^{2}+\\frac{1}{x}$在点$(1,2)$处的切线方程为$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "已知$\\alpha \\in\\left(0, \\frac{\\pi}{2}\\right), \\tan \\alpha=2$,则$\\cos \\left(\\alpha-\\frac{\\pi}{4}\\right)$ =_______", "options": "[]", "type": 2} +{"stem": "已知三棱锥$S-ABC$的所有顶点都在球$O$的球面上,$SC$是球$O$的直径.若平面$\\mathrm{SCA} \\perp$平面$SCB$,$SA=AC$,$SB=BC$,三棱锥$S-ABC$的体积为$9$,则球$O$的表面积为_______", "options": "[]", "type": 2} +{"stem": "记$\\mathrm{S}_{n}$为等比数列$\\left\\{a_{n}\\right\\}$的前$n$项和.已知$\\mathrm{S}_{2}=2, \\quad \\mathrm{S}_{3}=-6$.(1)求$\\left\\{a_{n}\\right\\}$的通项公式;(2)求$\\mathrm{S}_{n}$,并判断$S_{n+1}, \\quad S_{n}, \\quad S_{n+2}$是否成等差数列.", "options": "[]", "type": 4} +{"stem": "如图,在四棱锥$P-ABCD$中,$AB/ / CD$,且$\\angle BAP=\\angle{CDP}=90^{\\circ}$.(1)证明:平面$PAB \\perp$平面$PAD$;(2)若$\\mathrm{PA}=\\mathrm{PD}=\\mathrm{AB}=\\mathrm{DC}, \\quad \\angle \\mathrm{APD}=90^{\\circ}$,且四棱锥$P-ABCD$的体积为$\\frac{8}{3}$ ,求该四棱锥的侧面积.", "options": "[]", "type": 4} +{"stem": "为了监控某种零件的一条生产线的生产过程,检验员每隔$30min$从该生产线上随机抽取一个零件,并测量其尺寸(单位$:cm$).下面是检验员在一天内依次抽取的$16$个零件的尺寸:\n经计算得 $\\bar{x}=\\frac{1}{16} \\sum_{i=1}^{16} x_{i}=9.97, \\quad s=\\sqrt{\\frac{1}{16} \\sum_{i=1}^{16}\\left(x_{i}-\\bar{x}\\right)^{2}}=\\sqrt{\\frac{1}{16}\\left(\\sum_{i=1}^{16} x_{i}^{2}-16 \\bar{x}^{2}\\right)} \\approx 0.212$,$\\sqrt{\\sum_{i=1}^{16}(i-8.5)^{2}} \\approx 18.439$,$\\sum_{i=1}^{16}\\left(x_{i}-\\bar{x}\\right)(i-8.5)=-2.78$,其中$x_{i}$为抽取的第$i$个零件的尺寸,$\\mathrm{i}=1, \\quad 2, \\ldots, 16$.(1)求$\\left(x_{i}, \\text { i) }(i=1,2, \\dots, 16)\\right.$的相关系数$r$,并回答是否可以认为这一天生产的零件尺寸不随生产过程的进行而系统地变大或变小(若$|r|<0.25$,则可以认为零件的尺寸不随生产过程的进行而系统地变大或变小).(2)一天内抽检零件中,如果出现了尺寸在$(\\bar{x}-3 s, \\bar{x}+3 s)$之外的零件,就认为这条生产线在这一天的生产过程可能出现了异常情况,需对当天的生产过程进行检查.\n(ⅰ)从这一天抽检的结果看,是否需对当天的生产过程进行检查?\n(ⅱ)在$(\\bar{x}-3 s, \\bar{x}+3 s)$之外的数据称为离群值,试剔除离群值,估计这条生产线当天生产的零件尺寸的均值与标准差.(精确到$0.01$)\n附:样本$\\left(x_{i}, y_{i}\\right)(i=1,2, \\ldots, n)$的相关系数$r=\\frac{\\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)\\left(y_{i}-\\bar{y}\\right)}{\\sqrt{\\sum_{i=1}^{n}\\left(x_{i}-\\bar{x}\\right)^{2}} \\sqrt{\\sum_{i=1}^{n}\\left(y_{i}-\\bar{y}\\right)^{2}}}$,$\\sqrt{0.008} \\approx 0.09$.", "options": "[]", "type": 4} +{"stem": "设$A,B$为曲线$C: \\quad y=\\frac{x^{2}}{4}$上两点,$A$与$B$的横坐标之和为$4$.(1)求直线$AB$的斜率;(2)设$M$为曲线$C$上一点,$C$在$M$处的切线与直线$AB$平行,且$\\mathrm{AM} \\perp \\mathrm{BM}$,求直线$AB$的方程.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=e^{x}\\left(e^{x}-a\\right)-a^{2} x$.(1)讨论$f(x)$的单调性;(2)若$f(x) \\geqslant 0$,求$a$的取值范围.", "options": "[]", "type": 4} +{"stem": "在直角坐标系$x O y$中,曲线$C$的参数方程为$\\left\\{\\begin{array}{l}x=3 \\cos \\theta \\ y=\\sin \\theta\\end{array}\\right.$ ,($\\theta$为参数),直线 $l$ 的参数方程为 $\\left\\{\\begin{array}{l}x=a+4 t \\ y=1-t\\end{array}\\right.$ ,($t$为参数).(1)若$a=-1$,求$C$与 $l$ 的交点坐标;(2)若$C$上的点到 $l$ 距离的最大值为$\\sqrt{17}$ ,求$a$.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=-x^{2}+a x+4, \\quad g(x)=|x+1|+|x-1|$.(1)当$a=1$时,求不等式$f(x) \\geqslant g(x)$的解集;(2)若不等式$f(x) \\geqslant g(x)$的解集包含$[﹣1,1]$,求$a$的取值范围.", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\{0,2\\}, \\quad B=\\{-2,-1,0,1,2\\}$,则$A \\cap B$=(  )", "options": "['$\\\\{0,2\\\\}$', '$\\\\{1,2\\\\}$', '$\\\\{0\\\\}$', '$\\\\{-2,-1,0,1,2\\\\}$']", "type": 6} +{"stem": "设$z=\\frac{1-i}{1+i}+2 i$,则$|z|$=(  )", "options": "['$0$', '$\\\\frac{1}{2}$', '$1$', '$\\\\sqrt{2}$']", "type": 6} +{"stem": "某地区经过一年的新农村建设,农村的经济收入增加了一倍,实现翻番.为更好地了解该地区农村的经济收入变化情况,统计了该地区新农村建设前后农村的经济收入构成比例,得到如下饼图:\n则下面结论中不正确的是(  )$\\FigureID{3bf57990-8af1-11eb-9e9a-b46bfc50aa29}$$\\FigureID{59bb524a-8af1-11eb-be72-b46bfc50aa29}$$\\FigureID{0891a810-8b7c-11eb-b721-b46bfc50aa29}$", "options": "['新农村建设后,种植收入减少', '新农村建设后,其他收入增加了一倍以上\\t', '新农村建设后,养殖收入增加了一倍', '新农村建设后,养殖收入与第三产业收入的总和超过了经济收入的一半']", "type": 6} +{"stem": "已知椭圆$C: \\frac{x^{2}}{a^{2}}+\\frac{y^{2}}{4}=1$的一个焦点为(2,0),则C的离心率为(  )", "options": "['$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '$\\\\frac{\\\\sqrt{2}}{2}$', '$\\\\frac{2 \\\\sqrt{2}}{3}$']", "type": 6} +{"stem": "已知圆柱的上、下底面的中心分别为$\\mathrm{O}_{1}, \\mathrm{O}_{2}$,过直线$\\mathrm{O}_{1}\\mathrm{O}_{2}$的平面截该圆柱所得的截面是面积为8的正方形,则该圆柱的表面积为(  )", "options": "['$12 \\\\sqrt{2} \\\\pi$', '$12 \\\\pi$', '$8 \\\\sqrt{2} \\\\pi$', '$10 \\\\pi$']", "type": 6} +{"stem": "设函数$f(x)=x^{3}+(a-1) x^{2}+a x$.若$f(x)$为奇函数,则曲线$y=f(x)$在点$(0,0)$处的切线方程为(  )", "options": "['$y=-2 x$', '$y=- x$', '$y=2 x$', '$y=x$']", "type": 6} +{"stem": "在$\\triangle \\mathrm{ABC}$中,$AD$为$BC$边上的中线,$E$为$AD$的中点,则$\\overrightarrow{\\mathrm{EB}}$=(  )", "options": "['$\\\\frac{3}{4} \\\\overrightarrow{\\\\mathrm{AB}}-\\\\frac{1}{4} \\\\overrightarrow{\\\\mathrm{AC}}$', '$\\\\frac{1}{4} \\\\overrightarrow{\\\\mathrm{AB}}-\\\\frac{3}{4} \\\\overrightarrow{\\\\mathrm{AC}}$', '$\\\\frac{3}{4} \\\\overrightarrow{\\\\mathrm{AB}}+\\\\frac{1}{4} \\\\overrightarrow{\\\\mathrm{AC}}$', '$\\\\frac{1}{4} \\\\overrightarrow{\\\\mathrm{AB}}+\\\\frac{3}{4} \\\\overrightarrow{\\\\mathrm{AC}}$']", "type": 6} +{"stem": "已知函数$f(x)=2 \\cos ^{2} x-\\sin ^{2} x+2$,则(  )", "options": "['$f(x)$的最小正周期为$\\\\pi$,最大值为3\\t', '$f(x)$的最小正周期为$\\\\pi$,最大值为4\\t', '$f(x)$的最小正周期为$2\\\\pi$,最大值为3', '$f(x)$的最小正周期为$2\\\\pi$,最大值为4\\t']", "type": 6} +{"stem": "某圆柱的高为2,底面周长为16,其三视图如图.圆柱表面上的点$M$在正视图上的对应点为A,圆柱表面上的点$N$在左视图上的对应点为$B$,则在此圆柱侧面上,从$M$到$N$的路径中,最短路径的长度为(  )$\\FigureID{3bf57991-8af1-11eb-9185-b46bfc50aa29}$$\\FigureID{59bb795a-8af1-11eb-a7f4-b46bfc50aa29}$$\\FigureID{0891a811-8b7c-11eb-ab00-b46bfc50aa29}$", "options": "['$2 \\\\sqrt{17}$', '$2 \\\\sqrt{5}$', '3', '2']", "type": 6} +{"stem": "在长方体$\\mathrm{ABCD}-\\mathrm{A}_{1} \\mathrm{B}_{1} \\mathrm{C}_{1} \\mathrm{D}_{1}$中,$AB=BC=2$,$A C_{1}$与平面$\\mathrm{BB}_{1} \\mathrm{C}_{1} \\mathrm{C}$所成的角为$30^{\\circ}$,则该长方体的体积为(  )", "options": "['$8$', '$6 \\\\sqrt{2}$', '$8 \\\\sqrt{2}$', '$8 \\\\sqrt{3}$']", "type": 6} +{"stem": "已知角$\\alpha$的顶点为坐标原点,始边与x轴的非负半轴重合,终边上有两点$A(1, a), B \\quad(2, b)$,且$\\cos 2 a=\\frac{2}{3}$,则$|a-b|$=(  )", "options": "['$\\\\frac{1}{5}$', '$\\\\frac{\\\\sqrt{5}}{5}$', '$\\\\frac{2 \\\\sqrt{5}}{5}$', '1']", "type": 6} +{"stem": "设函数$f(x)=\\left\\{\\begin{array}{ll}2^{-x}, & x \\leqslant 0 \\ 1, & x>0\\end{array}\\right.$,则满足$f(x+1)x$成立,求$a$的取值范围.", "options": "[]", "type": 4} +{"stem": "设$z=\\frac{3-i}{1+2 i}$,则$|z|=$", "options": "['$2$', '$\\\\sqrt{3}$', '$\\\\sqrt{2}$', '$1$']", "type": 6} +{"stem": "已知集合$U=\\{1,2,3,4,5,6,7\\}, \\quad A=\\{2,3,4,5\\}, \\quad B=\\{2,3,6,7\\}$, 则$B \\cap \\mathrm{C}_{U} A$", "options": "['$\\\\{1,6\\\\}$', '$\\\\{1,7\\\\}$', '$\\\\{6,7\\\\}$', '$\\\\{1,6,7\\\\}$']", "type": 6} +{"stem": "已知$a=\\log _{2} 0.2, b=2^{0.2}, c=0.2^{0.3}$,则", "options": "['$a0, b>0)$的 一条渐近线的倾斜角为$130^{\\circ}$,则C的离心率为", "options": "['$2 \\\\sin 40^{\\\\circ}$', '$2 \\\\cos 40^{\\\\circ}$', '$\\\\frac{1}{\\\\sin 50^{\\\\circ}}$', '$\\\\frac{1}{\\\\cos 50^{\\\\circ}}$']", "type": 6} +{"stem": "$\\triangle A B C$的内角$A,B,C$的对边分别为$a,b,c$,已知$a \\sin A-b \\sin B=4 c \\sin C, \\quad \\cos A=-\\frac{1}{4}$,则$\\frac{b}{c}=$", "options": "['6', '5', '4', '3']", "type": 6} +{"stem": "已知椭圆$C$的焦点为$F_{1}(-1,0), \\quad F_{2}(1,0)$,过$F_{2}$的直线与$C$交于$A,B$两点.若$\\left|A F_{2}\\right|=2\\left|F_{2} B\\right|,|A B|=\\left|B F_{1}\\right|$,则$C$的方程为", "options": "['$\\\\frac{x^{2}}{2}+y^{2}=1$', '$\\\\frac{x^{2}}{3}+\\\\frac{y^{2}}{2}=1$', '$\\\\frac{x^{2}}{4}+\\\\frac{y^{2}}{3}=1$', '$\\\\frac{x^{2}}{5}+\\\\frac{y^{2}}{4}=1$']", "type": 6} +{"stem": "曲线$y=3\\left(x^{2}+x\\right) e^{x}$在点$(0,0)$处的切线方程为$\\SIFBlank$.", "options": "[]", "type": 2} +{"stem": "记$S_{n}$为等比数列$\\left\\{a_{n}\\right\\}$的前$n$项和.若$a_{1}=1, \\quad S_{3}=\\frac{3}{4}$,则$S_{4}$=_______", "options": "[]", "type": 2} +{"stem": "函数$f(x)=\\sin \\left(2 x+\\frac{3 \\pi}{2}\\right)-3 \\cos x$的最小值为$\\SIFBlank$.", "options": "[]", "type": 2} +{"stem": "已知$\\angle A C B=90^{\\circ}$,$P$为平面$ABC$外一点,$PC=2$,点$P$到$\\angle A C B$两边$AC,BC$的距离均为$\\sqrt{3}$,那么$P$到平面$ABC$的距离为$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "某商场为提高服务质量,随机调查了50名男顾客和50名女顾客,每位顾客对该商场的服务给出满意或不满意的评价,得到下面列联表:\n附:$K^{2}=\\frac{n(a d-b c)^{2}}{(a+b)(c+d)(a+c)(b+d)}$分别估计男、女顾客对该商场服务满意的概率;能否有95%的把握认为男、女顾客对该商场服务的评价有差异?", "options": "[]", "type": 4} +{"stem": "记$S_{n}$为等差数列$\\left\\{a_{n}\\right\\}$的前$n$项和,已知$S_{9}=-a_{5}$若$a_{3}=4$,求$\\left\\{a_{n}\\right\\}$的通项公式;若$a_{1}>0$,求使得$S_{n} \\geq a_{n}$的$n$的取值范围.", "options": "[]", "type": 4} +{"stem": "如图,直四棱柱$A B C D-A_{1} B_{1} C_{1} D_{1}$的底面是菱形,$A A_{1}=4, \\quad A B=2, \\quad \\angle B A D=60^{\\circ}, \\quad E, \\quad M, \\quad N$分别是$B C, \\quad B B_{1}, \\quad A_{1} D$的中点.证明:$M N / /$ 平面 $C_{1} D E$;求点$C$到平面$C_{I} D E$的距离.$\\FigureID{3bf5eefa-8af1-11eb-9679-b46bfc50aa29}$$\\FigureID{59bbc792-8af1-11eb-a65f-b46bfc50aa29}$$\\FigureID{0891cf24-8b7c-11eb-98ec-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": ".已知函数$f(x)=2 \\sin x-x \\cos x-x, f^{\\prime}(x)$ 为 $f(x)$的导数.证明:$f^{\\prime}(x)$ 在区间 $(0, \\pi)$存在唯一零点;若$x \\in[0, \\pi]$ 时, $f(x) \\geq a x$,求$a$的取值范围.", "options": "[]", "type": 4} +{"stem": "已知点$A,B$关于坐标原点$O$对称,$|A B|=A$,$\\odot M$过点$A,B$且与直线$x+2=0$相切.若$A$在直线$x+y=0$上,求$\\odot M$的半径是否存在定点$P$,使得当$A$运动时,$|MA|-|MP|$为定值?并说明理由.", "options": "[]", "type": 4} +{"stem": "(二)选考题:共10分。请考生在第22、23题中任选一题作答,如果多做,则按所做的第一题计分。[选修4-4:坐标系与参数方程] \n在直角坐标系$x O y$中,曲线C的参数方程为$\\left\\{\\begin{array}{l}x=\\frac{1-t^{2}}{1+t^{2}} \\ y=\\frac{4 t}{1+t^{2}}\\end{array}\\right.$(t为参数),以坐标原点$O$为极点,$x$轴的正半轴为极轴建立极坐标系,直线$l$的极坐标方程为$2 p \\cos \\theta+\\sqrt{3} \\rho \\sin \\theta+11=0$.求$C$和$l$的直角坐标方程;求$C$上的点到$l$距离的最小值.", "options": "[]", "type": 4} +{"stem": "[选修4-5:不等式选讲]\n已知$a,b,c$为正数,且满足$a b c=1$.证明:$\\frac{1}{a}+\\frac{1}{b}+\\frac{1}{c} \\leq a^{2}+b^{2}+c^{2}$;$(a+b)^{3}+(b+c)^{3}+(c+a)^{3} \\geq 24$", "options": "[]", "type": 4} +{"stem": "设集合$A=\\{0,2,4,6,8,10\\}, B=\\{4,8\\}$,则$C_{A}B$=(  )", "options": "['$\\\\{4,8\\\\}$', '$\\\\{0,2,6\\\\}$', '$\\\\{0,2,6,10\\\\}$', '$\\\\{0,2,4,6,8,10\\\\}$']", "type": 6} +{"stem": "若$z=4+3i$,则$\\frac{\\bar{z}}{|z|}$=(  )", "options": "['$1$', '$-1$', '$\\\\frac{4}{5}+\\\\frac{3}{5}i$', '$\\\\frac{4}{5}-\\\\frac{3}{5}i$']", "type": 6} +{"stem": "已知向量$\\vec{BA}=(\\frac{1}{2},\\frac{\\sqrt{3}}{2}),\\vec{BC}=(\\frac{\\sqrt{3}}{2},\\frac{1}{2})$,则$\\angle ABC=$$\\SIFChoice$,", "options": "['$30^{\\\\circ}$', '$45^{\\\\circ}$', '$60^{\\\\circ}$', '$120^{\\\\circ}$']", "type": 6} +{"stem": "某旅游城市为向游客介绍本地的气温情况,绘制了一年中各月平均最高气温和平均最低气温的雷达图,图中A点表示十月的平均最高气温约为15℃,B点表示四月的平均最低气温约为5℃,下面叙述不正确的是(  )$\\FigureID{3bf615d8-8af1-11eb-a55d-b46bfc50aa29}$$\\FigureID{59bbc793-8af1-11eb-90de-b46bfc50aa29}$$\\FigureID{08920228-8b7c-11eb-aa23-b46bfc50aa29}$", "options": "['各月的平均最低气温都在0℃以上\\t', '七月的平均温差比一月的平均温差大', '三月和十一月的平均最高气温基本相同', '平均最高气温高于20℃的月份有5个\\t']", "type": 6} +{"stem": "小敏打开计算机时,忘记了开机密码的前两位,只记得第一位是M,I,N中的一个字母,第二位是1,2,3,4,5中的一个数字,则小敏输入一次密码能够成功开机的概率是(  )", "options": "['$\\\\frac{8}{15}$', '$\\\\frac{1}{8}$', '$\\\\frac{1}{15}$', '$\\\\frac{1}{30}$']", "type": 6} +{"stem": "若$\\tan \\theta=\\frac{1}{3}$ ,则$\\cos 2\\theta$=(  )", "options": "['$-\\\\frac{4}{5}$', '$-\\\\frac{1}{5}$', '$\\\\frac{1}{5}$', '$\\\\frac{4}{5}$']", "type": 6} +{"stem": "已知$a=2^{\\frac{4}{3}} ,b=3^{\\frac{2}{3}} ,c=25^{\\frac{1}{3}}$,则(  )", "options": "['$bb>0)$的左焦点,A,B分别为C的左,右顶点.P为C上一点,且$PF\\perp x$轴,过点A的直线l与线段PF交于点M,与y轴交于点E.若直线BM经过OE的中点,则C的离心率为(  )", "options": "['$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '$\\\\frac{2}{3}$', '$\\\\frac{3}{4}$']", "type": 6} +{"stem": "设x,y满足约束条件$\\left\\{\\begin{array}{l}2 x-y+1 \\geqslant 0 \\ x-2 y-1 \\leqslant 0 \\ x \\leqslant 1\\end{array}\\right.$ ,则$z=2x+3y-5$的最小值为_______", "options": "[]", "type": 2} +{"stem": "函数$y=\\sin x-\\sqrt{3}\\cos x$的图象可由函数$y=2\\sin x$的图象至少向右平移$\\SIFBlank$个单位长度得到", "options": "[]", "type": 2} +{"stem": "已知直线I: $x-\\sqrt{3} y+6=0$与圆$x^{2}+y^{2}=12$交于A,B两点,过A,B分别作l的垂线与x轴交于C,D两点.则|CD|=_______", "options": "[]", "type": 2} +{"stem": "已知$f(x)$为偶函数,当$x≤0$时,$f(x)=e^{-x-1}-x$,则曲线$y=f(x)$在点(1,2)处的切线方程是_______", "options": "[]", "type": 2} +{"stem": "已知各项都为正数的数列$\\{a_n\\}$满足$a_{1}=1, a_{n}^{2}-\\left(2 a_{n+1}-1\\right) a_{n}-2 a_{n+1}=0$求$a_2,a_3$求$\\{a_n\\}$的通项公式", "options": "[]", "type": 4} +{"stem": "如图是我国2008年至2014年生活垃圾无害化处理量(单位:亿吨)的折线图.\n注:年份代码1﹣7分别对应年份2008﹣2014\n附注:参考数据: $\\sum_{i=1}^{7} y_{i}=9.32, \\sum_{i=1}^{7} t_{i} y_{i}=40.17, \\sqrt{\\sum_{i=1}^{7}\\left(y_{i}-\\bar{y}\\right)^{2}}=0.55, \\sqrt{7} \\approx 2.646\n$\n参考公式:相关系数\n$r=\\frac{\\sum_{i=1}^{n}\\left(t_{i}-\\bar{t}\\right)\\left(y_{i}-\\bar{y}\\right)}{\\sqrt{\\sum_{i=1}^{n}\\left(t_{i}-\\bar{t}\\right)^{2} \\sum_{i=1}^{n}\\left(y_{i}-\\bar{y}\\right)^{2}}}$\n回归方程$\\widehat{y}=\\widehat{a}+\\widehat{b}t$ 中斜率和截距的最小二乘估计公式分别为\n$\\widehat{b}=\\frac{\\sum_{i=1}^{n}\\left(t_{i}-\\bar{t}\\right)\\left(y_{i}-\\bar{y}\\right)}{\\sum_{i=1}^{n}\\left(t_{i}-\\bar{t}\\right)^{2}}, \\widehat{a}=\\bar{y}-\\widehat{b} \\bar{t}$由折线图看出,可用线性回归模型拟合y与t的关系,请用相关系数加以证明建立y关于t的回归方程(系数精确到0.01),预测2016年我国生活垃圾无害化处理量$\\FigureID{3bf63ce4-8af1-11eb-8740-b46bfc50aa29}$$\\FigureID{59bbee9d-8af1-11eb-bea2-b46bfc50aa29}$$\\FigureID{08922940-8b7c-11eb-abff-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "如图,四棱锥$P﹣ABCD$中,$PA\\perp $底面$ABCD$,$AD//BC$,$AB=AD=AC=3$,$PA=BC=4$,M为线段AD上一点,$AM=2MD$,N为PC的中点证明MN$//$平面$PAB$求四面体$N﹣BCM$的体积$\\FigureID{3bf63ce5-8af1-11eb-b89c-b46bfc50aa29}$$\\FigureID{59bbee9e-8af1-11eb-bb3e-b46bfc50aa29}$$\\FigureID{08923158-8b7c-11eb-896f-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知抛物线C:$y^2=2x$的焦点为F,平行于x轴的两条直线$l_1,l_2$分别交C于A,B两点,交C的准线于P,Q两点.若F在线段AB上,R是PQ的中点,证明$AR//FQ$若$\\triangle PQF$的面积是$\\triangle ABF$的面积的两倍,求AB中点的轨迹方程", "options": "[]", "type": 4} +{"stem": "设函数$f(x)=\\ln x-x+1$讨论$f(x)$的单调性证明当 $x \\in(1,+\\infty)$ 时 $, 1<\\frac{x-1}{\\ln x}1$,证明当 $x\\in (0,1)$时,$1+ (c-1) x>c^x$", "options": "[]", "type": 4} +{"stem": "如图,$\\odot O$中$\\widehat{AB}$的中点为P,弦PC,PD分别交AB于E,F两点.若$\\angle PFB=2\\angle PCD$,求$\\angle PCD$ 的大小若EC的垂直平分线与FD的垂直平分线交于点G,证明:$OG\\perp CD$$\\FigureID{3bf66422-8af1-11eb-843b-b46bfc50aa29}$$\\FigureID{59bc15ac-8af1-11eb-98a4-b46bfc50aa29}$$\\FigureID{08923159-8b7c-11eb-bd7b-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系xOy中,曲线$C_1$的参数方程为$\\left\\{\\begin{array}{l}x=\\sqrt{3} \\cos \\alpha \\ y=\\sin \\alpha\\end{array}\\right.$($ \\alpha$为参数), 以坐标原点为极点,以x轴的正半轴为极轴,建立极坐标系,曲线$C_2$的极坐标方程为$\\rho \\sin \\left(\\theta+\\frac{\\pi}{4}\\right)=2 \\sqrt{2}$写出$C_1$的普通方程和$C_2$的直角坐标方程设点P在$C_1$上,点Q在$C_2$上,求$|PQ|$的最小值及此时P的直角坐标", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=|2 x-a|+a$当$a=2$时,求不等式$f(x)\\le 6$的解集设函数$g(x)=|2 x-1|$ 当 $x \\in R$ 时, $f(x)+g(x) \\geq 3$, 求a的取值范围", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\{1,2,3,4\\},B=\\{2,4,6,8\\}$,则$A\\cap B$中元素的个数为(  )", "options": "['$1$', '$2$', '$3$', '$4$']", "type": 6} +{"stem": "复平面内表示复数$z=i(-2+i)$的点位于(  )", "options": "['第一象限', '第二象限', '第三象限', '第四象限']", "type": 6} +{"stem": "某城市为了解游客人数的变化规律,提高旅游服务质量,收集并整理了2014年1月至2016年12月期间月接待游客量(单位:万人)的数据,绘制了下面的折线图.根据该折线图,下列结论错误的是(  )$\\FigureID{3bf66423-8af1-11eb-8ddd-b46bfc50aa29}$$\\FigureID{59bc15ad-8af1-11eb-8e67-b46bfc50aa29}$$\\FigureID{0892315a-8b7c-11eb-b36a-b46bfc50aa29}$", "options": "['月接待游客量逐月增加\\t', '年接待游客量逐年增加', '各年的月接待游客量高峰期大致在7,8月\\t', '各年1月至6月的月接待游客量相对于7月至12月,波动性更小,变化比较平稳']", "type": 6} +{"stem": "已知$\\sin \\alpha-\\cos \\alpha=\\frac{4}{3}, \\quad$ 则 $\\sin 2 \\alpha$=(  )", "options": "['$-\\\\frac{7}{9}$', '$-\\\\frac{2}{9}$', '$\\\\frac{2}{9}$', '$\\\\frac{7}{9}$']", "type": 6} +{"stem": "设x,y满足约束条件$\\left\\{\\begin{array}{l}3 x+2 y-6 \\leq 0 \\ x \\geq 0 \\ y \\geq 0\\end{array}\\right.$ 则$z=x-y$的取值范围是(  )", "options": "['$[-3,0]$', '$[-3,2]$', '$[0,2]$', '$[0,3]$']", "type": 6} +{"stem": "函数 $f(x)=\\frac{1}{5} \\sin \\left(x+\\frac{\\pi}{3}\\right)+\\cos \\left(x-\\frac{\\pi}{6}\\right)$ 的最大值为(  )", "options": "['$\\\\frac{6}{5}$', '$1$', '$\\\\frac{3}{5}$', '$\\\\frac{1}{5}$']", "type": 6} +{"stem": "函数$y=1+x+\\frac{\\sin x}{x^{2}}$的部分图象大致为(  )", "options": "['$\\\\LUNAPictureID{3bfde4b0-8af1-11eb-b57d-b46bfc50aa29}$$\\\\LUNAPictureID{59c39702-8af1-11eb-940f-b46bfc50aa29}$$\\\\LUNAPictureID{089837a2-8b7c-11eb-954a-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfde4b1-8af1-11eb-b467-b46bfc50aa29}$$\\\\LUNAPictureID{59c39703-8af1-11eb-9d8d-b46bfc50aa29}$$\\\\LUNAPictureID{089837a3-8b7c-11eb-a948-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfde4b2-8af1-11eb-ba93-b46bfc50aa29}$$\\\\LUNAPictureID{59c39704-8af1-11eb-b0f5-b46bfc50aa29}$$\\\\LUNAPictureID{089837a4-8b7c-11eb-beeb-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfde4b3-8af1-11eb-886e-b46bfc50aa29}$$\\\\LUNAPictureID{59c39705-8af1-11eb-b9a0-b46bfc50aa29}$$\\\\LUNAPictureID{089837a5-8b7c-11eb-b048-b46bfc50aa29}$']", "type": 6} +{"stem": "执行如图的程序框图,为使输出S的值小于91,则输入的正整数N的最小值为(  )$\\FigureID{3bf66424-8af1-11eb-bebe-b46bfc50aa29}$$\\FigureID{59bc15ae-8af1-11eb-bb8a-b46bfc50aa29}$$\\FigureID{0892585a-8b7c-11eb-b6f3-b46bfc50aa29}$", "options": "['$5$', '$4$', '$3$', '$2$']", "type": 6} +{"stem": "已知圆柱的高为1,它的两个底面的圆周在直径为2的同一个球的球面上,则该圆柱的体积为(  )", "options": "['$\\\\pi$', '$\\\\frac{3\\\\pi}{4}$', '$\\\\frac{\\\\pi}{2}$', '$\\\\frac{\\\\pi}{4}$']", "type": 6} +{"stem": "在正方体$ABCD-A_1B_1C_1D_1$中,E为棱CD的中点,则(  )", "options": "['$A_1E\\\\perp DC_1$', '$A_1E\\\\perp BD$', '$A_1E\\\\perp BC_1$', '$A_1E\\\\perp AC$']", "type": 6} +{"stem": "知椭圆C:$\\frac{x^{2}}{a^{2}}+\\frac{y^{2}}{b^{2}}=1 \\quad(a>b>0)$的左、右顶点分别为$A_1,A_2$,且以线段$A_1A_2$为直径的圆与直线$bx-ay+2ab=0$相切,则C的离心率为(  )", "options": "['$\\\\frac{\\\\sqrt{6}}{3}$', '$\\\\frac{\\\\sqrt{3}}{3}$', '$\\\\frac{\\\\sqrt{2}}{3}$', '$\\\\frac{1}{3}$']", "type": 6} +{"stem": "已知函数$f(x)=x^{2}-2 x+a\\left(e^{x-1}+e^{-x+1}\\right)$有唯一零点,则a=(  )", "options": "['$-\\\\frac{1}{2}$', '$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '$1$']", "type": 6} +{"stem": "已知向量$\\vec{a}=(-2,3), \\vec{b}=(3, m)$, 且 $\\vec{a} \\perp \\vec{b}$,则m=_______", "options": "[]", "type": 2} +{"stem": "双曲线 $\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{9}=1 \\quad(a>0)$的一条渐近线方程为$y=\\frac{3}{5} x$,则a=_______", "options": "[]", "type": 2} +{"stem": "$\\triangle ABC$的内角A,B,C的对边分别为a,b,c,已知$C=60^{\\circ}, b=\\sqrt{6}, c=3$,则A=_______", "options": "[]", "type": 2} +{"stem": "设函数$f(x)=\\left\\{\\begin{array}{ll}x+1, & x \\leqslant 0 \\ 2^{x}, & x>0\\end{array}\\right.$ ,则满足$f(x)+f\\left(x-\\frac{1}{2}\\right)>1$的x的取值范围是_______", "options": "[]", "type": 2} +{"stem": "设数列$\\{a_n\\}$满足$a_{1}+3 a_{2}+\\ldots+(2 n-1) a_{n}=2 n$求$\\{a_n\\}$的通项公式求数列$\\{\\frac{a_n}{2n+1}\\}$的前n项和", "options": "[]", "type": 4} +{"stem": "某超市计划按月订购一种酸奶,每天进货量相同,进货成本每瓶4元,售价每瓶6元,未售出的酸奶降价处理,以每瓶2元的价格当天全部处理完.根据往年销售经验,每天需求量与当天最高气温(单位:℃)有关.如果最高气温不低于25,需求量为500瓶;如果最高气温位于区间[20,25),需求量为300瓶;如果最高气温低于20,需求量为200瓶.为了确定六月份的订购计划,统计了前三年六月份各天的最高气温数据,得下面的频数分布表:以最高气温位于各区间的频率估计最高气温位于该区间的概率.求六月份这种酸奶一天的需求量不超过300瓶的概率;设六月份一天销售这种酸奶的利润为Y(单位:元),当六月份这种酸奶一天的进货量为450瓶时,写出Y的所有可能值,并估计Y大于零的概率.", "options": "[]", "type": 4} +{"stem": "如图四面体$ABCD$中,$\\triangle ABC$是正三角形,$AD=CD$证明:$AC\\perp BD$已知$\\triangle ACD$是直角三角形,$AB=BD$,若E为棱BD上与D不重合的点,且$AE\\perp EC$,求四面体$ABCE$与四面体$ACDE$的体积比.$\\FigureID{3bf68b92-8af1-11eb-a781-b46bfc50aa29}$$\\FigureID{59bc3dc2-8af1-11eb-b7a4-b46bfc50aa29}$$\\FigureID{0892585b-8b7c-11eb-8095-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系$xOy$中,曲线$y=x^2+mx-2$与$x$轴交于A、B两点,点C的坐标为$(0,1)$,当m变化时,解答下列问题:能否出现$AC\\perp BC$的情况?说明理由证明过A、B、C三点的圆在$y$轴上截得的弦长为定值", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=\\ln x+a x^{2}+(2 a+1) x$讨论$f(x)$的单调性当$a<0$ 时 $,$ 证明 $f(x) \\leq -\\frac{3}{4 a}-2$", "options": "[]", "type": 4} +{"stem": "在直角坐标系$xOy$中,直线$l_1$的参数方程为$\\left\\{\\begin{array}{l}x=2+t \\ y=k t\\end{array}\\right.$, (t 为参数 ),直线$l_2$的参数方程为$\\left\\{\\begin{array}{l}x=-2+m \\ y=\\frac{m}{k}\\end{array}\\right.$, (m 为参数 ).设$l_1$与$l_2$的交点为P,当k变化时,P的轨迹为曲线C.写出C的普通方程以坐标原点为极点,$x$轴正半轴为极轴建立极坐标系,设$l_{3}: \\rho(\\cos \\theta+\\sin \\theta)-\\sqrt{2}=0$,M为$l_3$与C的交点,求M的极径.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=|x+1|-|x-2|$求不等式$f(x) \\geqslant 1$的解集若不等式$f(x) \\geqslant x^2-x+m$的解集非空,求m的取值范围.", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\{x | x-1 \\geq 0\\}$,$\\mathrm{B}=\\{0, \\quad 1, \\quad 2\\}$,则$A \\cap B$=(  )", "options": "['{0}', '{1}', '{1,2}', '{0,1,2}']", "type": 6} +{"stem": "$(1+i) \\quad(2-i)$=(  )", "options": "['﹣3﹣i', '﹣3+i', '3﹣i', '3+i\\t']", "type": 6} +{"stem": "中国古建筑借助榫卯将木构件连接起来.构件的凸出部分叫榫头,凹进部分叫卯眼,图中木构件右边的小长方体是榫头.若如图摆放的木构件与某一带卯眼的木构件咬合成长方体,则咬合时带卯眼的木构件的俯视图可以是(  )$\\FigureID{3bf69ade-8af1-11eb-989f-b46bfc50aa29}$$\\FigureID{59bc3dc3-8af1-11eb-8bcd-b46bfc50aa29}$$\\FigureID{08927f92-8b7c-11eb-9d72-b46bfc50aa29}$", "options": "['A$\\\\LUNAPictureID{3bfde4b4-8af1-11eb-94e8-b46bfc50aa29}$$\\\\LUNAPictureID{59c39706-8af1-11eb-97be-b46bfc50aa29}$$\\\\LUNAPictureID{08985e9e-8b7c-11eb-8042-b46bfc50aa29}$', ' B$\\\\LUNAPictureID{3bfde4b5-8af1-11eb-a8e4-b46bfc50aa29}$$\\\\LUNAPictureID{59c39707-8af1-11eb-9f1d-b46bfc50aa29}$$\\\\LUNAPictureID{08985e9f-8b7c-11eb-8018-b46bfc50aa29}$', ' C$\\\\LUNAPictureID{3bfde4b6-8af1-11eb-bbe6-b46bfc50aa29}$$\\\\LUNAPictureID{59c39708-8af1-11eb-b826-b46bfc50aa29}$$\\\\LUNAPictureID{08985ea0-8b7c-11eb-ad6f-b46bfc50aa29}$', ' D$\\\\LUNAPictureID{3bfde4b7-8af1-11eb-9f97-b46bfc50aa29}$$\\\\LUNAPictureID{59c39709-8af1-11eb-bd3b-b46bfc50aa29}$$\\\\LUNAPictureID{08985ea1-8b7c-11eb-ac71-b46bfc50aa29}$']", "type": 6} +{"stem": "若$\\sin \\alpha={\\frac{1}{3}}$,则$\\cos 2 a$=(  )", "options": "['$\\\\frac{8}{9}$', '$\\\\frac{7}{9}$', '$-\\\\frac{7}{9}$', '$-\\\\frac{8}{9}$']", "type": 6} +{"stem": "若某群体中的成员只用现金支付的概率为 0.45,既用现金支付也用非 现金支付的概率为 0.15,则不用现金支付的概率为( )", "options": "['0.3', '0.4', '0.6', '0.7']", "type": 6} +{"stem": "函数的$f(x)=\\frac{\\tan x}{1+\\tan ^{2} x}$正周期为$\\SIFChoice$", "options": "['$\\\\frac{\\\\pi}{4}$', '$\\\\frac{\\\\pi}{2}$', '$\\\\pi$', '$2 \\\\pi$']", "type": 6} +{"stem": "下列函数中,其图象与函数 y=lnx 的图象关于直线 x=1 对称的是( )", "options": "['$y=\\\\ln (1-x)$', '$y=\\\\ln (2-x)$', '$y=\\\\ln (1+x)$', '$y=\\\\ln (2+x)$']", "type": 6} +{"stem": "直线$x+ y+2=0$分别与x轴,y轴交于A,B两点,点P在圆$(x-2)^{2}+y^{2}=2$上,则$\\triangle \\mathrm{ABP}$ 面积的取值范围是( )", "options": "['[2,6]', '[4,8]', '$[\\\\sqrt{2}, 3 \\\\sqrt{2}]$', '$[2 \\\\sqrt{2}, 3 \\\\sqrt{2}]$']", "type": 6} +{"stem": "函数 $y=-x^{4}+x^{2}+2$ 的图象大致为$\\SIFChoice$", "options": "['A$\\\\LUNAPictureID{3bfde4b8-8af1-11eb-898a-b46bfc50aa29}$$\\\\LUNAPictureID{59c3be06-8af1-11eb-b0ae-b46bfc50aa29}$$\\\\LUNAPictureID{08985ea2-8b7c-11eb-8d58-b46bfc50aa29}$', 'B$\\\\LUNAPictureID{3bfde4b9-8af1-11eb-9bab-b46bfc50aa29}$$\\\\LUNAPictureID{59c3be07-8af1-11eb-be1b-b46bfc50aa29}$$\\\\LUNAPictureID{08985ea3-8b7c-11eb-95c2-b46bfc50aa29}$', 'C$\\\\LUNAPictureID{3bfde4ba-8af1-11eb-b1c7-b46bfc50aa29}$$\\\\LUNAPictureID{59c3be08-8af1-11eb-bb83-b46bfc50aa29}$$\\\\LUNAPictureID{08985ea4-8b7c-11eb-8e5f-b46bfc50aa29}$', 'D$\\\\LUNAPictureID{3bfde4bb-8af1-11eb-be7d-b46bfc50aa29}$$\\\\LUNAPictureID{59c3be09-8af1-11eb-8039-b46bfc50aa29}$$\\\\LUNAPictureID{08985ea5-8b7c-11eb-b067-b46bfc50aa29}$']", "type": 6} +{"stem": " 已知双曲线 C: $\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 \\quad(a>0, b>0)$的离心率为$\\sqrt{2}$,则点(4,0)到C的渐近线距离为()", "options": "['$\\\\sqrt{2}$', '2', '$\\\\frac{3 \\\\sqrt{2}}{2}$', '$2 \\\\sqrt{2}$']", "type": 6} +{"stem": "$\\triangle \\mathbf{A B C}$的内角 A,B,C 的对边分别为 a,b,c.若$\\triangle \\mathbf{A B C}$的面积为$\\frac{a^{2}+b^{2}-c^{2}}{4}$,则C=( )", "options": "['$\\\\frac{\\\\pi}{2}$', '$\\\\frac{\\\\pi}{3}$', '$\\\\frac{\\\\pi}{4}$', '$\\\\frac{\\\\pi}{6}$']", "type": 6} +{"stem": "设 A,B,C,D 是同一个半径为 4 的球的球面上四点,$\\triangle \\mathrm{ABC}$为等边 三角形且面积为$9 \\sqrt{3}$ ,则三棱锥$D-A B C$体积的最大值为( )", "options": "['$12 \\\\sqrt{3}$', '$18\\\\sqrt{3}$', '$24\\\\sqrt{3}$', '$54\\\\sqrt{3}$']", "type": 6} +{"stem": "已知向量$\\vec{a}=(1,2), \\vec{b}=(2,-2), \\vec{c}=(1, \\lambda)$.若$\\overrightarrow{\\mathrm{c}} / /(2 \\overrightarrow{\\mathrm{a}}+\\overrightarrow{\\mathrm{b}})$,则λ=_____.", "options": "[]", "type": 2} +{"stem": "某公司有大量客户,且不同年龄段客户对其服务的评价有较大差异.为了解客户的评价,该公司准备进行抽样调查,可供选择的抽样方法有简单随机抽样、分层抽样和系统抽样,则最合适的抽样方法是_____.", "options": "[]", "type": 2} +{"stem": "若变量x,y满足约束条件$\\left\\{\\begin{array}{l}2 x+y+3 \\geq 0 \\ x-2 y+4 \\geq 0 \\ x-2 \\leq 0\\end{array}\\right.$,则$z=x+\\frac{1}{3} y$的最大值是_____.", "options": "[]", "type": 2} +{"stem": "已知函数$f(x)=\\ln (\\sqrt{1+x^{2}}-x)+1$,$f(a)=4$,则$f(-a)$=_____.", "options": "[]", "type": 2} +{"stem": "等比数列$\\left\\{a_{n}\\right\\}$中,$a_{1}=1, \\quad a_{5}=4 a_{3}$.求$\\left\\{a_{n}\\right\\}$的通项公式;记$\\mathrm{S}_{n}$为$\\left\\{a_{n}\\right\\}$的前n项和.若$S_{m}$=63,求m.", "options": "[]", "type": 4} +{"stem": "某工厂为提高生产效率,开展技术创新活动,提出了完成某项生产任务的两种新的生产方式.为比较两种生产方式的效率,选取40名工人,将他们随机分成两组,每组20人.第一组工人用第一种生产方式,第二组工人用第二种生产方式.根据工人完成生产任务的工作时间(单位:min)绘制了如下茎叶图:根据茎叶图判断哪种生产方式的效率更高?并说明理由;求 40 名工人完成生产任务所需时间的中位数 m,并将完成生产任务所需时\n间超过 m 和不超过 m 的工人数填入下面的列联表:根据(2)中的列联表,能否有99%的把握认为两种生产方式的效率有差异?\n附:$\\mathrm{K}^{2}=\\frac{\\mathrm{n}(\\mathrm{ad}-\\mathrm{bc})^{2}}{(\\mathrm{a}+\\mathrm{b})(\\mathrm{c}+\\mathrm{d})(\\mathrm{a}+\\mathrm{c})(\\mathrm{b}+\\mathrm{d})}$", "options": "[]", "type": 4} +{"stem": "如图,矩形ABCD所在平面与半圆弧$\\widehat{\\mathrm{CD}}$ 所在平面垂直,M是 $\\widehat{\\mathrm{CD}}$上异于C,D的点.证明:平面AMD⊥平面BMC;在线段AM上是否存在点P,使得$\\mathrm{MC} / /$平面PBD?说明理由.", "options": "[]", "type": 4} +{"stem": "已知斜率为k的直线l与椭圆C:$\\frac{x^{2}}{4}+\\frac{y^{2}}{3}=1$交于A,B两点,线段AB的中点为M(1,m)(m>0).证明:$k<-\\frac{1}{2}$ ;设F为C的右焦点,P为C上一点,且$\\overrightarrow{\\mathrm{FP}}+\\overrightarrow{\\mathrm{FA}}+\\overrightarrow{\\mathrm{FB}}=\\overrightarrow{0}$ ,证明:$2|\\overrightarrow{\\mathrm{FP}}|=|\\overrightarrow{\\mathrm{FA}}|+|\\overrightarrow{\\mathrm{FB}}|$.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=\\frac{a x^{2}+x-1}{e^{x}}$.求曲线$y=f(x)$在点(0,﹣1)处的切线方程;证明:当$a \\geq 1$时,$f(x)+e \\geq 0$.", "options": "[]", "type": 4} +{"stem": "在平面直角坐标系xOy中,$\\odot O$的参数方程为$\\left\\{\\begin{array}{l}x=\\cos \\theta \\ y=\\sin \\theta\\end{array}\\right.$ ,(θ为参数),过点$(0,-\\sqrt{2})$且倾斜角为α的直线l与$\\odot O$交于A,B两点.求α的取值范围;求AB中点P的轨迹的参数方程.", "options": "[]", "type": 4} +{"stem": "设函数$f(x)=|2 x+1|+|x-1|$.画出$y=f(x)$的图象;当$x \\in[0,+\\infty)$时,$f(x) \\leqslant a x+b$,求a+b的最小值.$\\FigureID{3bf6c202-8af1-11eb-a134-b46bfc50aa29}$$\\FigureID{59bc64da-8af1-11eb-b302-b46bfc50aa29}$$\\FigureID{0892a680-8b7c-11eb-b945-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\{-1,0,1,2\\}$,$B=\\left\\{x | x^{2} \\leq 1\\right\\}$,则$A \\cap B=$", "options": "['$\\\\{-1,0,1\\\\}$', '$\\\\{0,1\\\\}$', '$\\\\{-1,1\\\\}$', '$\\\\{0,1,2\\\\}$']", "type": 6} +{"stem": "若$z(1+i)=2 i$,则$z$=", "options": "['$-1-i$', '$-1+i$', '$1-i$', '$1+i$']", "type": 6} +{"stem": "两位男同学和两位女同学随机排成一列,则两位女同学相邻的概率是", "options": "['$\\\\frac{1}{6}$', '$\\\\frac{1}{4}$', '$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$']", "type": 6} +{"stem": "《西游记》《三国演义》《水浒传》和《红楼梦》是中国古典文学瑰宝,并称为中国古典小说四大名著.某中学为了解本校学生阅读四大名著的情况,随机调查了100学生,其中阅读过《西游记》或《红楼梦》的学生共有90位,阅读过《红楼梦》的学生共有80位,阅读过《西游记》且阅读过《红楼梦》的学生共有60位,则该校阅读过《西游记》的学生人数与该校学生总数比值的估计值为", "options": "['0.5', '0.6', '0.7', '0.8']", "type": 6} +{"stem": "函数$f(x)=2 \\sin x-\\sin 2 x$在$[0,2 \\pi]$的零点个数为", "options": "['2', '3', '4', '5']", "type": 6} +{"stem": "已知各项均为正数的等比数列$\\left\\{a_{n}\\right\\}$的前4项和为15,且$a_{5}=3 a_{b}+4 a_{1}$,则$a_{3}=$", "options": "['16', '8', '4', '2']", "type": 6} +{"stem": "已知曲线$y=a e^{x}+x \\ln x$在点(1,ae)处的切线方程为$y=2 x+b$,则", "options": "['$a=\\\\mathrm{e}, \\\\quad b=-1$', '$a=\\\\mathrm{e}, \\\\quad b=1$', '$a=e^{-1}, \\\\quad b=1$', '$a=e^{-1}, \\\\quad b=-1$']", "type": 6} +{"stem": "如图,点N为正方形ABCD的中心,△ECD为正三角形,平面ECD⊥平面ABCD,M是线段ED的中点,则$\\FigureID{3bf6c203-8af1-11eb-b2d0-b46bfc50aa29}$$\\FigureID{59bc8c00-8af1-11eb-a40f-b46bfc50aa29}$$\\FigureID{0892c5e8-8b7c-11eb-934a-b46bfc50aa29}$", "options": "['BM=EN,且直线BM、EN 是相交直线', 'BM≠EN,且直线BM,EN 是相交直线', 'BM=EN,且直线BM、EN 是异面直线', 'BM≠EN,且直线BM,EN 是异面直线']", "type": 6} +{"stem": "执行下边的程序框图,如果输入的$\\varepsilon$为0.01,则输出的值等于$s$$\\FigureID{3bf6c204-8af1-11eb-b7d3-b46bfc50aa29}$$\\FigureID{59bcb514-8af1-11eb-b760-b46bfc50aa29}$$\\FigureID{0892c5e9-8b7c-11eb-80a4-b46bfc50aa29}$", "options": "['$2-\\\\frac{1}{2^{4}}$', '$2-\\\\frac{1}{2^{5}}$', '$2-\\\\frac{1}{2^{6}}$', '$2-\\\\frac{1}{2^{7}}$']", "type": 6} +{"stem": "已知$F$是双曲线$C: \\frac{x^{2}}{4}-\\frac{y^{2}}{5}=1$的一个焦点,点$P$在$C$上,$O$为坐标原点,若$|O P|=|O F|$,则$\\triangle O P F$的面积为$\\SIFChoice$", "options": "['$\\\\frac{3}{2}$', '$\\\\frac{5}{2}$', '$\\\\frac{7}{2}$', '$\\\\frac{9}{2}$']", "type": 6} +{"stem": "记不等式组$\\left\\{\\begin{array}{l}x+y . .6 \\ 2 x-y \\geq 0\\end{array}\\right.$表示的平面区域为D.命题$p: \\exists(x, y) \\in D, 2 x+y . .9$;命题$\\forall(x, y) \\in D, 2 x+y, 12$.下面给出了四个命题\n①$p \\vee q$\n②$\\neg p \\vee q$\n③$p \\wedge \\neg q$\n④$\\neg p \\wedge \\neg q$\n这四个命题中,所有真命题的编号是", "options": "['①②', '②③', '③④']", "type": 6} +{"stem": "设$f(x)$是定义域为R的偶函数,且在$(0,+\\infty)$单调递减,则", "options": "['$f\\\\left(\\\\log _{3} \\\\frac{1}{4}\\\\right)>f\\\\left(2^{-\\\\frac{3}{2}}\\\\right)>f\\\\left(2^{-\\\\frac{2}{3}}\\\\right)$', '$f\\\\left(\\\\log _{3} \\\\frac{1}{4}\\\\right)>f\\\\left(2^{-\\\\frac{2}{3}}\\\\right)>f\\\\left(2^{-\\\\frac{3}{2}}\\\\right)$', '$f\\\\left(2^{-\\\\frac{3}{2}}\\\\right)>f\\\\left(2^{-\\\\frac{2}{3}}\\\\right)>f\\\\left(\\\\log _{3} \\\\frac{1}{4}\\\\right)$', '$f\\\\left(2^{-\\\\frac{2}{3}}\\\\right)>f\\\\left(2^{-\\\\frac{3}{2}}\\\\right)>f\\\\left(\\\\log _{3} \\\\frac{1}{4}\\\\right)$']", "type": 6} +{"stem": "已知向量$\\vec{a}=(2,2), \\vec{b}=(-8,6)$,则$\\cos <\\vec{a}, \\vec{b}>=$$\\SIFBlank$.", "options": "[]", "type": 2} +{"stem": "记Sn为等差数列$\\left\\{a_{n}\\right\\}$的前n项和,若$a_{3}=5, a_{7}=13$,则$S_{10}=$___________", "options": "[]", "type": 2} +{"stem": "设$F_{1}, F_{2}$为椭圆$C: \\frac{x^{2}}{36}+\\frac{y^{2}}{20}=1$的两个焦点,$M$为$C$上一点且在第一象限.若$\\Delta M F_{1} F_{2}$为等腰三角形,则$M$的坐标为$\\SIFBlank$.", "options": "[]", "type": 2} +{"stem": "学生到工厂劳动实践,利用$3 D$打印技术制作模型.如图,该模型为长方体$A B C D-A_{1} B C_{1} D_{1}$挖去四棱锥$O-E F G H$后所得的几何体,其中$O$为长方体的中心,$E, F, G, H$分别为所在棱的中点,$A B=B C=6 \\mathrm{cm}, A A_{1}=4 \\mathrm{cm}$,$3 D$打印所用原料密度为$0.9 g / c m^{3}$,不考虑打印损耗,制作该模型所需原料的质量为$\\SIFBlank$$g$.$\\FigureID{3bf6e914-8af1-11eb-8ecc-b46bfc50aa29}$$\\FigureID{59bcda7e-8af1-11eb-b005-b46bfc50aa29}$$\\FigureID{0892ef3a-8b7c-11eb-bd47-b46bfc50aa29}$", "options": "[]", "type": 2} +{"stem": "(必考题)为了解甲、乙两种离子在小鼠体内的残留程度,进行如下试验:将200只小鼠随机分成$A, B$两组,每组100只,其中$A$组小鼠给服甲离子溶液,$B$组小鼠给服乙离子溶液.每只小鼠给服的溶液体积相同、摩尔浓度相同.经过一段时间后用某种科学方法测算出残留在小鼠体内离子的百分比.根据试验数据分别得到如下直方图:\n记$C$为事件:“乙离子残留在体内的百分比不低于$5.5$”,根据直方图得到$P(C)$的估计值为$0.70$.求乙离子残留百分比直方图中$a,b$的值;分别估计甲、乙离子残留百分比的平均值(同一组中的数据用该组区间的中点值为代表).$\\FigureID{3bf6e915-8af1-11eb-81a1-b46bfc50aa29}$$\\FigureID{59bcda7f-8af1-11eb-97d0-b46bfc50aa29}$$\\FigureID{0892ef3b-8b7c-11eb-a4bb-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "(必考题)$\\Delta A B C$的内角$A, B, C$的对边分别为$a, b, c$,已知$a \\sin \\frac{A+C}{2}=b \\sin A$.求$B$;若$\\Delta A B C$为锐角三角形,且$c=1$,求$\\Delta A B C$面积的取值范围.", "options": "[]", "type": 4} +{"stem": "(必考题)图1是由矩形$A D E B, Rt \\Delta A B C$和菱形$BFGC$组成的一个平面图形,其中$A B=1, B E=B F=2$,$\\angle F B C=60^{\\circ}$,将其沿$A B, B C$折起使得$BE$与$BF$重合,连结$DG$,如图2.证明图2中的四点$A,C,G,D$共面,且平面$A B C \\perp$平面$BCGE$;求图2中的四边形$ACGD$的面积.$\\FigureID{3bf6e916-8af1-11eb-abfa-b46bfc50aa29}$$\\FigureID{59bcda80-8af1-11eb-9b29-b46bfc50aa29}$$\\FigureID{0892ef3c-8b7c-11eb-a7e8-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "(必考题)已知函数$f(x)=2 x^{3}-a x^{2}+2$.讨论$f(x)$的单调性;当$0f(2 x-1)$ 成立的 x 的取值范围是()", "options": "['$\\\\left(-\\\\infty, \\\\frac{1}{3}\\\\right) \\\\cup(1,+\\\\infty)$', '$\\\\left(\\\\frac{1}{3}, 1\\\\right)$', '$\\\\left(-\\\\frac{1}{3}, \\\\frac{1}{3}\\\\right)$', '$\\\\left(-\\\\infty,-\\\\frac{1}{3},\\\\right) \\\\cup\\\\left(\\\\frac{1}{3},+\\\\infty\\\\right)$']", "type": 6} +{"stem": "问题:已知函数 $f (x) =ax^3 - 2x$ 的图象过点$(-1,4)$则 a=_______", "options": "[]", "type": 2} +{"stem": "问题:若 $x, \\quad y$ 满足约束条件 $\\left\\{\\begin{array}{l}x+y-5 \\leqslant 0 \\ 2 x-y-1 \\geqslant 0, \\quad \\text { 则 } z=2 x+y \\text { 的最大值头 } \\ x-2 y+1 \\leqslant 0\\end{array}\\right.$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "问题:已知双曲线过点(4, $\\sqrt3$)且渐近线方程为 y=$\\pm\\frac{1}{2} x,$ 则该双曲线的标准方程是_______", "options": "[]", "type": 2} +{"stem": "问题:已知曲线 y=x+Inx 在点(1,1)处的切线与曲线 $y=a x^{2}+(a+2) x+1$ 相\n示,则 $a=8$_______", "options": "[]", "type": 2} +{"stem": "$\\triangle \\mathrm{ABC}$ 中,D 是 BC 上的点,AD 平分 $\\angle \\mathrm{BAC}, \\quad \\mathrm{BD}=2 \\mathrm{DC}$求 $\\frac{\\sin \\angle \\mathrm{B}}{\\sin \\angle \\mathrm{C}}$若 $\\angle \\mathrm{BAC}=60^{\\circ}, \\quad$ 求 $\\angle \\mathrm{B}$", "options": "[]", "type": 4} +{"stem": "某公司为了解用户对其产品的满意度,从A,B两地区分别随机调查了40个用户,根据用户对产品的满意度评分,得到A地区用户满意度评分的频率分布直方图和B地区用户满意度评分的频数分布表\nB地区用户满意度评分的频数分布表做出B地区用户满意度评分的频率分布直方图,并通过直方图比较两地区满意度评分的平均值及分散程度(不要求计算出具体值,给出结论即可)根据用户满意度评分,将用户的满意度从低到高分为三个不等级:\n估计哪个地区用户的满意度等级为不满意的概率大?说明理由.$\\FigureID{3bf74067-8af1-11eb-9d9b-b46bfc50aa29}$$\\FigureID{59bd2865-8af1-11eb-abe4-b46bfc50aa29}$$\\FigureID{08937400-8b7c-11eb-b0d8-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "如图,长方体ABCD﹣A1B1C1D1中,AB=16,BC=10,AA1=8,点E,F分别在 $\\mathrm{A}_{1} \\mathrm{B}_{1}, \\quad \\mathrm{D}_{1} \\mathrm{C}_{1}$ 上 $, \\quad \\mathrm{A}_{1} \\mathrm{E}=\\mathrm{D}_{1} \\mathrm{F}=4 . \\quad$ 过 $\\mathrm{E}, \\quad$ F 的平亩 $\\alpha$ 与此长方体的面相交交线围成一个正方形在图中画出这个正方形(不必说出画法和理由)求平面 $\\alpha$ 把该长方体分成的两部分体积的比值。$\\FigureID{3bf75c58-8af1-11eb-9cd7-b46bfc50aa29}$$\\FigureID{59bd2866-8af1-11eb-ba2a-b46bfc50aa29}$$\\FigureID{08937401-8b7c-11eb-b959-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "梯圆 $C: \\frac{x^{2}}{a^{2}}+\\frac{y^{2}}{b^{2}}=1, \\quad(a>b>0)$ 的离心率 $\\frac{\\sqrt{2}}{2},$ 点(2, $\\sqrt{2}$ )在 $C$上求椭圆C的方程直线l不过原点O且不平行于坐标轴,l与C有两个交点A,B,线段AB的中点为M.证明:直线OM的斜率与l的斜率的乘积为定值.", "options": "[]", "type": 4} +{"stem": "设函数 $f (x)=\\ln x+a(1-x)$讨论:$f(x)$的单调性当 $f(x)$有最大值,且最大值大于 2a - 2 时,求 a 的取值范围。", "options": "[]", "type": 4} +{"stem": "如图,O 为等腰三角形 ABC 内一点,$\\bigodot O$ 与$\\triangle ABC$ 的底边 BC 交于M,N 两点,与底边上的高 AD 交于点 G,且与 AB,AC 分别相切于 E,F 两点。证明: EF // BC 若 AG 等于$\\odot$O 的半径,且AE=MN=$2\\sqrt3$,求四边形 EBCF 的面积。$\\FigureID{3bf75c59-8af1-11eb-af39-b46bfc50aa29}$$\\FigureID{59bd4f8c-8af1-11eb-a7a3-b46bfc50aa29}$$\\FigureID{08937402-8b7c-11eb-9de0-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系xOy中,曲线$C_1:\\left\\{\\begin{array}{l}x=\\operatorname{tcos} \\alpha \\ y=\\tan \\alpha\\end{array}\\right.$(t 为参数, $t \\neq 0 )$,其中$0 \\leqslant \\alpha \\leqslant \\pi$,在以O为极点,x轴正半轴为极轴的极坐标系中,曲线$\\mathrm{C}_{2}: \\rho=2 \\sin \\theta$,$\\mathrm{C}_{3}: \\quad \\rho=2 \\sqrt{3} \\cos \\theta$求 $C_1$与 $C_2$交点的直角坐标 若 $C_1$与 $C_2$相交于点 A,$C_{1}$ 与 $C_2$相交于点 B,求|AB|的最大值", "options": "[]", "type": 4} +{"stem": "设a,b,c,d均为正数,且a+b=c+d,证明:若 $a b>c d, \\quad$ 则 $\\sqrt{a}+\\sqrt{b}>\\sqrt{c}+\\sqrt{d} $$\\sqrt{a}+\\sqrt{b}>\\sqrt{c}+\\sqrt{d}$ 是 $|a-b|<|c-d|$ 的充要条件", "options": "[]", "type": 4} +{"stem": "已知集合 $\\mathrm{A}=\\{1,2,3\\}, \\mathrm{B}=\\left\\{\\mathrm{x} | \\mathrm{x}^{2}<9\\right\\},$ 则 $\\mathrm{A} \\cap \\mathrm{B}=(\\quad)$", "options": "['${-2,-1,0,1,2,3}$', '${-2,-1,0,1,2}$', '${1,2,3}$', '${1,2}$']", "type": 6} +{"stem": "设复数z满足$z+i=3﹣i$,则$\\bar{z}=$ (  )", "options": "['$-1+2i$', '$1﹣2i$', '$3+2i$', '$3﹣2i$']", "type": 6} +{"stem": "函数 $\\mathrm{y}=\\mathrm{A} \\sin (\\omega \\mathrm{x}+\\phi)$的部分图象如图所示,则$\\FigureID{3bf75c5a-8af1-11eb-8b85-b46bfc50aa29}$$\\FigureID{59bd4f8d-8af1-11eb-ad54-b46bfc50aa29}$$\\FigureID{08939b0a-8b7c-11eb-9940-b46bfc50aa29}$", "options": "['$y=2 \\\\sin \\\\left(2 x-\\\\frac{\\\\pi}{6}\\\\right)$', '$y=2 \\\\sin \\\\left(2 x-\\\\frac{\\\\pi}{3}\\\\right)$', '$y=2 \\\\sin \\\\left(x+\\\\frac{\\\\pi}{6}\\\\right)$', '$y=2 \\\\sin \\\\left(x+\\\\frac{\\\\pi}{3}\\\\right)$']", "type": 6} +{"stem": "体积为8的正方体的顶点都在同一球面上,则该球面的表面积为(  )", "options": "['$12 \\\\pi$', '$\\\\frac{32}{3} \\\\pi$', '$8 \\\\pi$', '$4 \\\\pi$']", "type": 6} +{"stem": "设F为抛物线C:$y^{2}=4 x$的焦点,曲线$y=\\frac{k}{x}(k>0)$与C交于点P,PF $\\perp \\mathbf{x}$ 轴,则k=(  )", "options": "['$\\\\frac{1}{2}$', '1', '$\\\\frac{3}{2}$', '2']", "type": 6} +{"stem": "圆$x^{2}+y^{2}-2 x-8 y+13=0$的圆心到直线$a x+y-1=0$的距离为1,则a=(  )", "options": "['$-\\\\frac{4}{3}$', '$-\\\\frac{3}{4}$', '$\\\\sqrt{3}$', '2']", "type": 6} +{"stem": "如图是由圆柱与圆锥组合而成的几何体的三视图,则该几何体的表面积为(  )$\\FigureID{3bf78378-8af1-11eb-84e6-b46bfc50aa29}$$\\FigureID{59bd4f8e-8af1-11eb-888e-b46bfc50aa29}$$\\FigureID{08939b0b-8b7c-11eb-8743-b46bfc50aa29}$", "options": "['$20 \\\\pi$', '$24 \\\\pi$', '$28 \\\\pi$', '$32 \\\\pi$']", "type": 6} +{"stem": "某路口人行横道的信号灯为红灯和绿灯交替出现,红灯持续时间为40秒.若一名行人来到该路口遇到红灯,则至少需要等待15秒才出现绿灯的概率为(  )", "options": "['$\\\\frac{7}{10}$', '$\\\\frac{5}{8}$', '$\\\\frac{3}{8}$', '$\\\\frac{3}{10}$']", "type": 6} +{"stem": "中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=(  )$\\FigureID{3bf78379-8af1-11eb-8d60-b46bfc50aa29}$$\\FigureID{59bd767a-8af1-11eb-96ca-b46bfc50aa29}$$\\FigureID{0893b5e4-8b7c-11eb-a153-b46bfc50aa29}$", "options": "['7', '12', '17', '34']", "type": 6} +{"stem": "下列函数中,其定义域和值域分别与函数$y=10^{\\lg x}$的定义域和值域相同的是(  )", "options": "['$y=x$', '$y=\\\\lg x$', '$y=2^{x}$', '$y=\\\\frac{1}{\\\\sqrt{x}}$']", "type": 6} +{"stem": "函数$f(x)=\\cos 2 x+6 \\cos \\left(\\frac{\\pi}{2}-x\\right)$的最大值为(  )", "options": "['4', '5', '6', '7']", "type": 6} +{"stem": "已知函数$f(x)(x \\in R)$满足$f(x)=f(2-x)$,若函数$y=\\left|x^{2}-2 x-3\\right|$与$y=f(x)$ 图象的交点为$\\left(\\begin{array}{ll}x_{1}, & y_{1}\\end{array}\\right), \\quad\\left(\\begin{array}{ll}x_{2}, & y_{2}\\end{array}\\right), \\ldots,\\left(x_{m}, y_{m}\\right)$,则$\\sum_{i=1}^{\\pi} x_{i}=$", "options": "['0', 'm', '2m', '4m']", "type": 6} +{"stem": "已知向量$\\vec{a}=(m, 4)$,$\\vec{b}=(3,-2)$,且$\\overrightarrow{\\mathrm{a}} / / \\overrightarrow{\\mathrm{b}}$,则m=____.", "options": "[]", "type": 2} +{"stem": "若x,y满足约束条件$\\left\\{\\begin{array}{l}x-y+1 \\geq 0 \\ x+y-3 \\geq 0 \\ x-3 \\leq 0\\end{array}\\right.$,则$z=x-2 y$的最小值为_______", "options": "[]", "type": 2} +{"stem": "$\\Delta$ABC的内角A,B,C的对边分别为a,b,c,若$\\cos A=\\frac{4}{5}$,$\\cos C=\\frac{5}{13}$,a=1,则b=_______", "options": "[]", "type": 2} +{"stem": "有三张卡片,分别写有1和2,1和3,2和3.甲,乙,丙三人各取走一张卡片,甲看了乙的卡片后说:“我与乙的卡片上相同的数字不是2”,乙看了丙的卡片后说:“我与丙的卡片上相同的数字不是1”,丙说:“我的卡片上的数字之和不是5”,则甲的卡片上的数字是_______", "options": "[]", "type": 2} +{"stem": "等差数列 $\\left\\{a_{n}\\right\\}$ 中 $, \\quad a_{3}+a_{4}=4, \\quad a_{5}+a_{7}=6$求$\\left\\{a_{n}\\right\\}$自通项公式;设$b_{n}=\\left[a_{n}\\right]$,求数列 $\\left\\{b_{n}\\right\\}$的前 10 项和,其中 [x]表示不超过 x 的最大整数\n如[0.9] $=0, \\quad[2.6]=2$\n", "options": "[]", "type": 4} +{"stem": "某险种的基本保费为a(单位:元),继续购买该险种的投保人称为续保人,续保人本年度的保费与其上年度出险次数的关联如下:\n随机调查了该险种的200名续保人在一年内的出险情况,得到如下统计表:记A为事件:“一续保人本年度的保费不高于基本保费”.求P(A)的估计值;记B为事件:“一续保人本年度的保费高于基本保费但不高于基本保费的160%”.求P(B)的估计值;求续保人本年度的平均保费估计值.", "options": "[]", "type": 4} +{"stem": "如图,菱形ABCD的对角线AC与BD交于点O,点E、F分别在AD,CD上,AE=CF,EF交BD于点H,将$\\Delta$DEF沿EF折到$\\Delta$D′EF的位置.证明:$A C \\perp H D^{\\prime}$;若 $A B=5, \\quad A C=6, \\quad A E=\\frac{5}{4}, \\quad O D^{\\prime}=2 \\sqrt{2}, \\quad$ 求五棱雉 $D^{\\prime}-A B C F E$ 体积$\\FigureID{3bf7837a-8af1-11eb-b21e-b46bfc50aa29}$$\\FigureID{59bd767b-8af1-11eb-9d23-b46bfc50aa29}$$\\FigureID{0893b5e5-8b7c-11eb-a9b4-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知函数 f $(x)=(x+1) \\ln x-a(x-1)$ 当 a=4 时,求曲线 $y=f(x)$在$(1,f(1))$处的切线方程;若当$x \\in(1,+\\infty)$ 时, $f(x)>0$,求a的取值范围", "options": "[]", "type": 4} +{"stem": "已知A是椭圆$E: \\frac{x^{2}}{4}+\\frac{y^{2}}{3}=1$的左顶点,斜率为k(k>0)的直线交E于A,M两点,点N在E上,$\\mathrm{MA} \\perp \\mathrm{NA}$.当$\\mathrm{AM}|=| \\mathrm{AN}$时,求$\\Delta$AMN的面积当 2 | AM | = |AN |时,证明:$\\sqrt{3}<\\mathrm{k}<2$.", "options": "[]", "type": 4} +{"stem": "如图,在正方形ABCD中,E,G分别在边DA,DC上(不与端点重合),且DE=DG,过D点作DF $\\perp C E$,垂足为F.证明:B,C,G,F四点共圆;若AB=1,E为DA的中点,求四边形BCGF的面积.$\\FigureID{3bf7aa4a-8af1-11eb-b478-b46bfc50aa29}$$\\FigureID{59bd767c-8af1-11eb-ac0b-b46bfc50aa29}$$\\FigureID{0893dcfa-8b7c-11eb-8f49-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系xOy中,圆C的方程为$(x+6)^{2}+y^{2}=25$.以坐标原点为极点,x轴正半轴为极轴建立极坐标系,求C的极坐标方程;直线l的参数方程是 $\\left\\{\\begin{array}{l}x=\\operatorname{tcos} \\alpha \\ y=\\operatorname{tsin} \\alpha\\end{array}(t \\text { 为参数 })\\right.$,l与C交与A,B两点,|AB|=$\\sqrt{10}$ ,求l的斜率.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=\\left|x-\\frac{1}{2}\\right|+\\left|x+\\frac{1}{2}\\right|$,M为不等式$f(x)<2$的解集.求M;证明:当$a, b \\in M$时,$|a+b|<|1+a b|$.", "options": "[]", "type": 4} +{"stem": "设集合$A=\\{1,2,3\\}, B=\\{2,3,4\\}$, 则$A \\cup B=(\\quad)$", "options": "['$\\\\{1,2,3,4\\\\}$', '$\\\\{1,2,3\\\\}$', '$\\\\{2,3,4\\\\}$', '$\\\\{1,3,4\\\\}$']", "type": 6} +{"stem": "$(1+i) (2+i) = ( \\quad) $", "options": "['$1-i$', '$1+3i$', '$3+i$', '$3+3i$']", "type": 6} +{"stem": "函数$f (x) =sin (2x+\\frac{\\pi}{3})$ 的最小正周期为$(\\quad)$", "options": "['$4\\\\pi$', '$2\\\\pi$', '$\\\\pi$', '$\\\\frac{\\\\pi}{2}$']", "type": 6} +{"stem": "设非零向量$\\vec{a}$, $\\vec{b}$满足$|\\vec{a}+\\vec{b}|=|\\vec{a}-\\vec{b}|$则$( \\quad)$", "options": "['$\\\\overrightarrow{\\\\mathrm{a}} \\\\perp \\\\overrightarrow{\\\\mathrm{b}}$', '$|\\\\vec{a}|=|\\\\vec{b}|$', '$\\\\overrightarrow{\\\\mathrm{a}} / / \\\\overrightarrow{\\\\mathrm{b}}$', '$|\\\\vec{a}|>|\\\\vec{b}|$']", "type": 6} +{"stem": "若a>1,则双曲线$\\frac{x^{2}}{a^{2}}-y^{2}=1$的离心率的取值范围是$( \\quad)$", "options": "['$(\\\\sqrt{2},+\\\\infty)$', '$(\\\\sqrt{2}, 2)$', '$(1, \\\\sqrt{2})$', '(1,2)']", "type": 6} +{"stem": "如图,网格纸上小正方形的边长为1,粗实线画出的是某几何体的三视图,该几何体由一平面将一圆柱截去一部分后所得,则该几何体的体积为$( \\quad)$$\\FigureID{3bf7aa4b-8af1-11eb-a111-b46bfc50aa29}$$\\FigureID{59bd767d-8af1-11eb-b09b-b46bfc50aa29}$$\\FigureID{0893dcfb-8b7c-11eb-9f3f-b46bfc50aa29}$", "options": "['$90\\\\pi$', '$63\\\\pi$', '$42\\\\pi$', '$36\\\\pi$']", "type": 6} +{"stem": "设x,y满足约束条件 $\\left\\{\\begin{array}{l}2 x+3 y-3 \\leq 0 \\ 2 x-3 y+3 \\geq 0 \\ y+3 \\geqslant 0\\end{array}\\right.$,则$z=2x+y$的最小值是$( \\quad)$", "options": "['-15', '-9', '1', '9']", "type": 6} +{"stem": "函数 $f(x)=\\ln \\left(x^{2}-2 x-8\\right)$的单调递增区间是$( \\quad)$", "options": "['$(-\\\\infty,-2)$', '$(-\\\\infty,-1)$', '$(1,+\\\\infty)$', '$(4,+\\\\infty)$']", "type": 6} +{"stem": "甲、乙、丙、丁四位同学一起去问老师询问成语竞赛的成绩.老师说:你们四人中有2位优秀,2位良好,我现在给甲看乙、丙的成绩,给乙看丙的成绩,给丁看甲的成绩.看后甲对大家说:我还是不知道我的成绩.根据以上信息,则$( \\quad)$", "options": "['乙可以知道四人的成绩', '丁可以知道四人的成绩', '乙、丁可以知道对方的成绩', '乙、丁可以知道自己的成绩']", "type": 6} +{"stem": "执行如图的程序框图,如果输入的a=﹣1,则输出的S=$( \\quad)$$\\FigureID{3bf7aa4c-8af1-11eb-9204-b46bfc50aa29}$$\\FigureID{59bda558-8af1-11eb-9d08-b46bfc50aa29}$$\\FigureID{0893dcfc-8b7c-11eb-ac3b-b46bfc50aa29}$", "options": "['2', '3', '4', '5']", "type": 6} +{"stem": "从分别写有1,2,3,4,5的5张卡片中随机抽取1张,放回后再随机抽取1张,则抽得的第一张卡片上的数大于第二张卡片上的数的概率为$( \\quad)$", "options": "['$\\\\frac{1}{10}$', '$\\\\frac{1}{5}$', '$\\\\frac{3}{10}$', '$\\\\frac{2}{5}$']", "type": 6} +{"stem": "过抛物线C:y^{2}=4 x的焦点F,且斜率为 的直线交C于点M(M在x轴上方),l为C的准线,点N在l上,且$\\mathrm{MN} \\perp l$,则M到直线NF的距离为", "options": "['$\\\\sqrt{5}$', '$2\\\\sqrt{2}$', '$2\\\\sqrt{3}$', '$3\\\\sqrt{3}$']", "type": 6} +{"stem": "问题:函数$f(x)=2 \\cos x+\\sin x$的最大值为$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "问题:已知函数$f(x)$是定义在R上的奇函数,当 $x \\in(-\\infty, 0)$ 时, $f(x)=2 x^{3}+x^{2}$,则$f(2)$=_______", "options": "[]", "type": 2} +{"stem": "问题:长方体的长、宽、高分别为3,2,1,其顶点都在球O的球面上,则球O的表面积为_______", "options": "[]", "type": 2} +{"stem": "问题:$\\triangle \\mathrm{ABC}$的内角A,B,C的对边分别为a,b,c,若$2 b \\cos B=a \\cos C+c c \\cos A$,则B=_______", "options": "[]", "type": 2} +{"stem": "已知等差数列$\\left\\{a_{n}\\right\\}$的前n项和为$\\mathrm{S}_{n}$,等比数列$\\left\\{b_{n}\\right\\}$的前n项和为$\\mathrm{T}_{n}$,$a_{1}=-1$,$b_{1}=1$,$a_{2}+b_{2}=2$.若$a_{3}+b_{3}=5$,求$\\left\\{b_{n}\\right\\}$的通项公式;若 $\\mathrm{T}_{3}=21$ ,求 $\\mathrm{S}_{3}$", "options": "[]", "type": 4} +{"stem": "如图,四棱锥P﹣ABCD中,侧面PAD为等边三角形且垂直于底面ABCD,$A B=B C=\\frac{1}{2} A D$,$\\angle \\mathrm{BAD}=\\angle \\mathrm{ABC}=90^{\\circ}$.证明:直线BC∥平面PAD;若$\\triangle PCD$面积为 2 $\\sqrt{7}$,求四棱锥P﹣ABCD的体积.$\\FigureID{3bf7d188-8af1-11eb-bee3-b46bfc50aa29}$$\\FigureID{59bda559-8af1-11eb-b2ad-b46bfc50aa29}$$\\FigureID{0894041a-8b7c-11eb-9c1a-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "海水养殖场进行某水产品的新、旧网箱养殖方法的产量对比,收获时各随机抽取了100个网箱,测量各箱水产品的产量(单位:kg),其频率分布直方图如下:记A表示事件“旧养殖法的箱产量低于50kg”,估计A的概率;填写下面列联表,并根据列联表判断是否有99%的把握认为箱产量与养殖方法有关:根据箱产量的频率分布直方图,对两种养殖方法的优劣进行比较.\n附:\n$K^{2}=\\frac{n(a d-b c)^{2}}{(a+b)(c+d)(a+c)(b+d)}$$\\FigureID{3bf7d189-8af1-11eb-af75-b46bfc50aa29}$$\\FigureID{59bda55a-8af1-11eb-bcf2-b46bfc50aa29}$$\\FigureID{0894041b-8b7c-11eb-ac44-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "设O为坐标原点,动点M在椭圆C:$M\\left(x_{0}, y_{0}\\right)$上,过M作x轴的垂线,垂足为 N,点 P 满足 $\\overrightarrow{\\mathrm{NP}}=\\sqrt{2} \\overrightarrow{\\mathrm{NM}}$求点P的轨迹方程;设点Q在直线x=﹣3上,且$\\overrightarrow{\\mathrm{OP}} \\cdot \\overrightarrow{\\mathrm{PQ}}=1$.证明:过点P且垂直于OQ的直线l过C的左焦点F", "options": "[]", "type": 4} +{"stem": "设函数$f(x)=\\left(1-x^{2}\\right) e^{x}$讨论$f(x)$的单调性;当$x \\geqslant 0$时,$f(x) \\leqslant a x+1$,求a的取值范围.", "options": "[]", "type": 4} +{"stem": "在直角坐标系xOy中,以坐标原点为极点,x轴的正半轴为极轴建立极坐标系,曲线$C_{1}$的极坐标方程为ρcosθ=4.M为曲线$C_{1}$上的动点,点P在线段OM上,且满足|OM|•|OP|=16,求点P的轨迹$C_{2}$的直角坐标方程;设点A的极坐标为(2,$\\frac{\\pi}{3}$ ),点B在曲线$C_{2}$上,求$\\triangle O A B$面积的最大值.", "options": "[]", "type": 4} +{"stem": "已知 $a>0, \\quad b>0, \\quad a^{3}+b^{3}=2 . \\quad$ 证明$(a+b)\\left(a^{5}+b^{5}\\right) \\geqslant 4$$a+b \\leq 2$", "options": "[]", "type": 4} +{"stem": "$i(2+3i)=(\\quad)$", "options": "['$3-2i$', '$3+2i$', '$-3-2i$', '$-3+2i$']", "type": 6} +{"stem": "已知集合 $A=\\{1,3,5,7\\}, B=\\{2,3,4,5\\}$, 则 $A \\cap B=(\\quad)$", "options": "['$\\\\{3\\\\}$', '$\\\\{5\\\\}$', '$\\\\{3,5\\\\}$', '$\\\\{1,2,3,4,5,7\\\\}$']", "type": 6} +{"stem": "函数$f(x)=\\frac{e^{x}-e^{-x}}{x^{2}}$的图象大致为$(\\quad)$", "options": "['$\\\\LUNAPictureID{3bfe92a2-8af1-11eb-98e6-b46bfc50aa29}$$\\\\LUNAPictureID{59c43a76-8af1-11eb-b3c9-b46bfc50aa29}$$\\\\LUNAPictureID{089885a0-8b7c-11eb-a5c6-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfe92a3-8af1-11eb-a65a-b46bfc50aa29}$$\\\\LUNAPictureID{59c43a77-8af1-11eb-95f9-b46bfc50aa29}$$\\\\LUNAPictureID{089885a1-8b7c-11eb-82d0-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfe92a4-8af1-11eb-a9c7-b46bfc50aa29}$$\\\\LUNAPictureID{59c43a78-8af1-11eb-9df0-b46bfc50aa29}$$\\\\LUNAPictureID{089885a2-8b7c-11eb-ac28-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfe92a5-8af1-11eb-b936-b46bfc50aa29}$$\\\\LUNAPictureID{59c46178-8af1-11eb-9f78-b46bfc50aa29}$$\\\\LUNAPictureID{089885a3-8b7c-11eb-abe0-b46bfc50aa29}$']", "type": 6} +{"stem": "已知向量$\\vec{a}, \\vec{b}$ 满足$|\\vec{a}|=1$,$\\vec{a} \\cdot \\vec{b}=-1$,则$\\vec{a} \\cdot(2 \\vec{a}-\\vec{b})=(\\quad)$", "options": "['4', '3', '2', '0']", "type": 6} +{"stem": "从2名男同学和3名女同学中任选2人参加社区服务,则选中的2人都是女同学的概率为$(\\quad)$", "options": "['0.6', '0.5', '0.4', '0.3']", "type": 6} +{"stem": "双曲线$\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 \\quad(a>0, b>0)$的离心率为 $\\sqrt{3}$,则其渐近线方程为$(\\quad)$", "options": "['$y=\\\\pm \\\\sqrt{2} x$', '$y=\\\\pm \\\\sqrt{3} x$', '$y=\\\\pm \\\\frac{\\\\sqrt{2}}{2} x$', '$y=\\\\pm \\\\frac{\\\\sqrt{3}}{2} x$']", "type": 6} +{"stem": "在△ABC中,$\\cos \\frac{C}{2}=\\frac{\\sqrt{5}}{5}$ ,BC=1,AC=5,则AB=$(\\quad)$", "options": "['$4 \\\\sqrt{2}$', '$\\\\sqrt{30}$', '$\\\\sqrt{29}$', '$2\\\\sqrt{5}$']", "type": 6} +{"stem": "为计算$S=1-\\frac{1}{2}+\\frac{1}{3}-\\frac{1}{4}+\\ldots+\\frac{1}{99}-\\frac{1}{100}$ ,设计了如图的程序框图,则在空白框中应填入$(\\quad)$$\\FigureID{3bf7f878-8af1-11eb-9410-b46bfc50aa29}$$\\FigureID{59bdcc94-8af1-11eb-b4e7-b46bfc50aa29}$$\\FigureID{0894041c-8b7c-11eb-b77f-b46bfc50aa29}$", "options": "['$i=i+1$', '$i=i+2$', '$i=i+3$', '$i=i+4$']", "type": 6} +{"stem": "在正方体$\\mathrm{ABCD}-\\mathrm{A}_{1} \\mathrm{B}_{1} \\mathrm{C}_{1} \\mathrm{D}_{1}$中,$E$为棱$CC_{1}$的中点,则异面直线$AE$与$CD$所成角的正切值为$(\\quad)$", "options": "['$\\\\frac{\\\\sqrt{2}}{2}$', '$\\\\frac{\\\\sqrt{3}}{2}$', '$\\\\frac{\\\\sqrt{5}}{2}$', '$\\\\frac{\\\\sqrt{7}}{2}$']", "type": 6} +{"stem": "若$f(x)=\\cos x-\\sin x$在$[0,a]$是减函数,则$a$的最大值是$(\\quad)$", "options": "['$\\\\frac{\\\\pi}{4}$', '$\\\\frac{\\\\pi}{2}$', '$\\\\frac{3\\\\pi}{4}$', '$\\\\pi$']", "type": 6} +{"stem": "已知$\\mathrm{F}_{1}, \\mathrm{F}_{2}$是椭圆C的两个焦点,P是C上的一点,若$\\mathrm{PF}_{1} \\perp \\mathrm{PF}_{2}$,且$\\angle \\mathrm{PF}_{2} \\mathrm{F}_{1}=60^{\\circ}$,则C的离心率为$(\\quad)$", "options": "['$1-\\\\frac{\\\\sqrt{3}}{2}$', '$2-\\\\sqrt{3}$', '$\\\\frac{\\\\sqrt{3}-1}{2}$', '$\\\\sqrt{3}-1$']", "type": 6} +{"stem": "已知$f(x)$是定义域为$(-\\infty,+\\infty)$的奇函数,满足$f(1-x)=f(1+x)$,若$f(1)=2$,则$f(1)+f(2)+f(3)+\\ldots+f(50)$=$(\\quad)$", "options": "['-50', '0', '2', '50']", "type": 6} +{"stem": "问题:曲线$y=2 \\ln x$在点(1,0)处的切线方程为_______", "options": "[]", "type": 2} +{"stem": "问题:若 $x, \\quad y$ 满足约東条件 $\\left\\{\\begin{array}{l}x+2 y-5 \\geqslant 0 \\ x-2 y+3 \\geq 0 \\ x-5 \\leq 0\\end{array}\\right.$,则$z=x+y$的最大值为$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "问题:已知 $\\tan \\left(\\alpha-\\frac{5 \\pi}{4}\\right)=\\frac{1}{5},$ 则 $\\tan \\alpha=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "问题:已知圆锥的顶点为S,母线SA,SB互相垂直,SA与圆锥底面所成角为$30^{\\circ}$.若$\\triangle \\mathrm{SAB}$的面积为8,则该圆锥的体积为_______", "options": "[]", "type": 2} +{"stem": "记$\\mathrm{S}_{n}$为等差数列$\\left\\{a_{n}\\right\\}$的前n项和,已知$a_{1}=-7, \\quad S_{3}=-15$.求$\\left\\{a_{n}\\right\\}$的通项公式;求$\\mathrm{S}_{n}$,并求$\\mathrm{S}_{n}$的最小值.", "options": "[]", "type": 4} +{"stem": "如图是某地区2000年至2016年环境基础设施投资额y(单位:亿元)的折线图.\n为了预测该地区2018年的环境基础设施投资额,建立了y与时间变量t的两个线性回归模型.根据2000年至2016年的数据(时间变量t的值依次为1,2,…,17)建立模型①:$\\hat{y}=-30.4+13.5 t$;根据2010年至2016年的数据(时间变量t的值依次为1,2,…,7)建立模型②:$\\hat{y}=99+17.5 t$.分别利用这两个模型,求该地区2018年的环境基础设施投资额的预测值;你认为用哪个模型得到的预测值更可靠?并说明理由.$\\FigureID{3bf7f879-8af1-11eb-b2cc-b46bfc50aa29}$$\\FigureID{59bdd79c-8af1-11eb-b208-b46bfc50aa29}$$\\FigureID{08942b28-8b7c-11eb-85ca-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "如图,在三棱锥P﹣ABC中,AB=BC=$2 \\sqrt{2}$ ,PA=PB=PC=AC=4,O为AC的中点.证明:PO$\\perp$平面ABC;若点M在棱BC上,且MC=2MB,求点C到平面POM的距离.$\\FigureID{3bf7f87a-8af1-11eb-aade-b46bfc50aa29}$$\\FigureID{59bdd79d-8af1-11eb-ba72-b46bfc50aa29}$$\\FigureID{0894338c-8b7c-11eb-9a52-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "设抛物线C:$y^{2}=4 x$的焦点为F,过F且斜率为k(k>0)的直线l与C交于A,B两点,$|AB|=8$求l的方程;求过点A,B且与C的准线相切的圆的方程.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=\\frac{1}{3} x^{3}-a\\left(x^{2}+x+1\\right)$.若a=3,求$f(x)$的单调区间;证明:$f(x)$只有一个零点.", "options": "[]", "type": 4} +{"stem": "在直角坐标系xOy中,曲线C的参数方程为$\\left\\{\\begin{array}{l}x=2 \\cos \\theta \\ y=4 \\sin \\theta\\end{array}\\right.$,($\\theta\\$为参数),直线l的参数方程为$\\left\\{\\begin{array}{l}x=1+t \\cos \\alpha \\ y=2+t \\sin \\alpha\\end{array}\\right.$ ,(t为参数).求C和l的直角坐标方程;若曲线C截直线l所得线段的中点坐标为(1,2),求l的斜率.", "options": "[]", "type": 4} +{"stem": "设函数f(x)=5﹣|x+a|﹣|x﹣2|.当a=1时,求不等式$f(x) \\geqslant 0$的解集;若$f(x) \\leqslant 1$,求a的取值范围.", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\{x | x>-1\\}$,$B=\\{x | x<2\\}$,则A∩B=", "options": "['(–1,+∞)', '(–∞,2)', '(–1,2)', '$\\varnothing$']", "type": 6} +{"stem": "设z=i(2+i),则$\\bar{z}$=", "options": "['1+2i', '–1+2i', '1–2i', '–1–2i']", "type": 6} +{"stem": "已知向量a=(2,3),b=(3,2),则|a–b|=", "options": "['$\\\\sqrt{2}$', '2', '$5 \\\\sqrt{2}$', '50']", "type": 6} +{"stem": "生物实验室有5只兔子,其中只有3只测量过某项指标,若从这5只兔子中随机取出3只,则恰有2只测量过该指标的概率为", "options": "['$\\\\frac{2}{3}$', '$\\\\frac{3}{5}$', '$\\\\frac{2}{5}$', '$\\\\frac{1}{5}$']", "type": 6} +{"stem": "在“一带一路”知识测验后,甲、乙、丙三人对成绩进行预测.\n甲:我的成绩比乙高.\n乙:丙的成绩比我和甲的都高.\n丙:我的成绩比乙高.\n成绩公布后,三人成绩互不相同且只有一个人预测正确,那么三人按成绩由高到低的次序为", "options": "['甲、乙、丙', '乙、甲、丙', '丙、乙、甲', '甲、丙、乙']", "type": 6} +{"stem": "设f(x)为奇函数,且当x≥0时,$f(x)=\\mathrm{e}^{x}-1$,则当x<0时,f(x)=", "options": "['$e^{-x}-1$', '$e^{-x}+1$', '$-\\\\mathrm{e}^{-x}-1$', '$-\\\\mathrm{e}^{-x}+1$']", "type": 6} +{"stem": "设α,β为两个平面,则α//β的充要条件是", "options": "['α内有无数条直线与β平行', 'α内有两条相交直线与β平行', 'α,β平行于同一条直线', 'α,β垂直于同一平面']", "type": 6} +{"stem": "若$x_{1}=\\frac{\\pi}{4}$,$x_{2}=\\frac{3 \\pi}{4}$是函数$f(x)=\\sin \\omega x(\\omega>0)$两个相邻的极值点,则$\\omega$=", "options": "['2', '$\\\\frac{3}{2}$', '1', '$\\\\frac{1}{2}$']", "type": 6} +{"stem": "若抛物线$y^{2}=2 p x(p>0)$的焦点是椭圆$\\frac{x^{2}}{3 p}+\\frac{y^{2}}{p}=1$的一个焦点,则p=", "options": "['2', '3', '4', '8']", "type": 6} +{"stem": "曲线y=2sinx+cosx在点(π,–1)处的切线方程为", "options": "['$x-y-\\\\pi-1=0$', '$2 x-y-2 \\\\pi-1=0$', '$2 x+y-2 \\\\pi+1=0$', '$x+y-\\\\pi+1=0$']", "type": 6} +{"stem": "已知$a \\in\\left(0, \\frac{\\pi}{2}\\right)$,2sin2α=cos2α+1,则sinα=", "options": "['$\\\\frac{1}{5}$', '$\\\\frac{\\\\sqrt{5}}{5}$', '$\\\\frac{\\\\sqrt{3}}{3}$', '$\\\\frac{2 \\\\sqrt{5}}{5}$']", "type": 6} +{"stem": "设F为双曲线C:$\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1$(a>0,b>0)的右焦点,O为坐标原点,以OF为直径的圆与圆$x^{2}+y^{2}=a^{2}$交于P、Q两点.若|PQ|=|OF|,则C的离心率为", "options": "['$\\\\sqrt{2}$', '$\\\\sqrt{3}$', '2', '$\\\\sqrt{5}$']", "type": 6} +{"stem": "若变量x,y满足约束条件$\\left\\{\\begin{array}{l}2 x+3 y-6 \\geq 0 \\ x+y-3 \\leq 0 \\ y-2 \\leq 0\\end{array}\\right.$则z=3x–y的最大值是________.", "options": "[]", "type": 2} +{"stem": "我国高铁发展迅速,技术先进.经统计,在经停某站的高铁列车中,有10个车次的正点率为0.97,有20个车次的正点率为0.98,有10个车次的正点率为0.99,则经停该站高铁列车所有车次的平均正点率的估计值为________.", "options": "[]", "type": 2} +{"stem": "$\\triangle A B C$的内角A,B,C的对边分别为a,b,c.已知bsinA+acosB=0,则B=________.", "options": "[]", "type": 2} +{"stem": "中国有悠久的金石文化,印信是金石文化的代表之一.印信的形状多为长方体、正方体或圆柱体,但南北朝时期的官员独孤信的印信形状是“半正多面体”(图1).半正多面体是由两种或两种以上的正多边形围成的多面体.半正多面体体现了数学的对称美.图2是一个棱数为48的半正多面体,它的所有顶点都在同一个正方体的表面上,且此正方体的棱长为1.则该半正多面体共有________个面,其棱长为________.(本题第一空2分,第二空3分.)$\\FigureID{3bf81f9a-8af1-11eb-8253-b46bfc50aa29}$$\\FigureID{59bdfed0-8af1-11eb-9799-b46bfc50aa29}$$\\FigureID{0894338d-8b7c-11eb-9329-b46bfc50aa29}$", "options": "[]", "type": 2} +{"stem": "如图,长方体ABCD–$A_{1} B_{1} C_{1} D_{1}$的底面ABCD是正方形,点E在棱$A A_{1}$上,$B E \\perp E C_{1}$.(1)证明:BE⊥平面$E B_{1} C_{1}$;(2)若$A E=A_{1} E$,AB=3,求四棱锥$E-B B_{1} C_{1} C$的体积.$\\FigureID{3bf846e2-8af1-11eb-83c4-b46bfc50aa29}$$\\FigureID{59bdfed1-8af1-11eb-9eba-b46bfc50aa29}$$\\FigureID{0894338e-8b7c-11eb-8428-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知$\\left\\{a_{n}\\right\\}$是各项均为正数的等比数列,$a_{1}=2, a_{3}=2 a_{2}+16$.(1)求$\\left\\{a_{n}\\right\\}$的通项公式;(2)设$b_{n}=\\log _{2} a_{n}$,求数列$\\left\\{b_{n}\\right\\}$的前n项和.", "options": "[]", "type": 4} +{"stem": "某行业主管部门为了解本行业中小企业的生产情况,随机调查了100个企业,得到这些企业第一季度相对于前一年第一季度产值增长率y的频数分布表.(1)分别估计这类企业中产值增长率不低于40%的企业比例、产值负增长的企业比例;(2)求这类企业产值增长率的平均数与标准差的估计值(同一组中的数据用该组区间的中点值为代表).(精确到0.01)\n附:$\\sqrt{74} \\approx 8.602$.", "options": "[]", "type": 4} +{"stem": "已知$F_{1}, F_{2}$是椭圆$C: \\frac{x^{2}}{a^{2}}+\\frac{y^{2}}{b^{2}}=1(a>b>0)$的两个焦点,P为C上一点,O为坐标原点.(1)若$\\triangle P O F_{2}$为等边三角形,求C的离心率;(2)如果存在点P,使得$P F_{1} \\perp P F_{2}$,且$\\triangle F_{1} P F_{2}$的面积等于16,求b的值和a的取值范围.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=(x-1) \\ln x-x-1$.证明:(1)$f(x)$存在唯一的极值点;(2)$f(x)=0$有且仅有两个实根,且两个实根互为倒数.", "options": "[]", "type": 4} +{"stem": "在极坐标系中,O为极点,点$M\\left(\\rho_{0}, \\theta_{0}\\right)\\left(\\rho_{0}>0\\right)$在曲线$C: \\rho=4 \\sin \\theta$上,直线$l$过点$A(4,0)$且与$O M$垂直,垂足为$P$.(1)当$\\theta_{0}=\\frac{\\pi}{3}$时,求$\\rho_{0}$及$l$的极坐标方程;(2)当M在C上运动且P在线段OM上时,求P点轨迹的极坐标方程.", "options": "[]", "type": 4} +{"stem": "已知$f(x)=|x-a| x+|x-2|(x-a)$.(1)当$a=1$时,求不等式$f(x)<0$的解集;(2)若$x \\in(-\\infty, 1)$时,$f(x)<0$,求$a$的取值范围.", "options": "[]", "type": 4} +{"stem": "设复数z满足$\\frac{1+z}{1-z}=i$,则$\\vert z\\vert$=(  )", "options": "['1', '$\\\\sqrt{2}$', '$\\\\sqrt{3}$', '2']", "type": 6} +{"stem": "$\\sin20^{\\circ}\\cos10^{\\circ}-\\cos160^{\\circ}\\sin10^{\\circ}$=(  )", "options": "['$-\\\\frac{\\\\sqrt{3}}{2}$', '$\\\\frac{\\\\sqrt{3}}{2}$', '$-\\\\frac{1}{2}$', '$\\\\frac{1}{2}$']", "type": 6} +{"stem": "设命题$p:\\exists n\\in N,n^2\\gt2^n$,则$\\neg p$为(  )", "options": "['$\\\\forall n\\\\in N,n^2\\\\gt 2^n$', '$\\\\exists n\\\\in N,n^2\\\\leqslant2^n$', '$\\\\forall n\\\\in N,n^2\\\\leqslant2^n$', '$\\\\exists n\\\\in N,n^2=2^n$']", "type": 6} +{"stem": "投篮测试中,每人投3次,至少投中2次才能通过测试.已知某同学每次投篮投中的概率为0.6,且各次投篮是否投中相互独立,则该同学通过测试的概率为(  )", "options": "['0.648', '0.432', '0.36', '0.312']", "type": 6} +{"stem": "已知$M(x_0,y_0)$是双曲线$C:\\frac{x^2}{2}-y^2=1$上的一点,$F_1$,$F_2$是$C$的左、右两个焦点,若$\\stackrel{\\longrightarrow}{MF_1}\\cdot\\stackrel{\\longrightarrow}{MF_2}\\lt0$,则$y_0$的取值范围是(  )", "options": "['$(-\\\\frac{\\\\sqrt{3}}{3},\\\\frac{\\\\sqrt{3}}{3})$', '$(-\\\\frac{\\\\sqrt{3}}{6},\\\\frac{\\\\sqrt{3}}{6})$', '$(-\\\\frac{2\\\\sqrt{2}}{3},\\\\frac{2\\\\sqrt{2}}{3})$', '$(-\\\\frac{2\\\\sqrt{3}}{3},\\\\frac{2\\\\sqrt{3}}{3})$']", "type": 6} +{"stem": "《九章算术》是我国古代内容极为丰富的数学名著,书中有如下问题:”今有委米依垣内角,下周八尺,高五尺.问:积及为米几何?“其意思为:”在屋内墙角处堆放米(如图,米堆为一个圆锥的四分之一),米堆底部的弧长为8尺,米堆的高为5尺,问米堆的体积和堆放的米各为多少?“已知1斛米的体积约为1.62立方尺,圆周率约为3,估算出堆放的米约有(  )$\\FigureID{3bf8581e-8af1-11eb-a6fd-b46bfc50aa29}$$\\FigureID{59bdfed2-8af1-11eb-9ad5-b46bfc50aa29}$$\\FigureID{08945aa8-8b7c-11eb-84ad-b46bfc50aa29}$", "options": "['14斛', '22斛', '36斛', '66斛']", "type": 6} +{"stem": "设$D$为$\\triangle ABC$所在平面内一点,$\\stackrel{\\longrightarrow}{BC}=3\\stackrel{\\longrightarrow}{CD}$,则(  )", "options": "['$\\\\stackrel{\\\\longrightarrow}{AD}=-\\\\frac{1}{3}\\\\stackrel{\\\\longrightarrow}{AB}+\\\\frac{4}{3}\\\\stackrel{\\\\longrightarrow}{AC}$', '$\\\\stackrel{\\\\longrightarrow}{AD}=\\\\frac{1}{3}\\\\stackrel{\\\\longrightarrow}{AB}-\\\\frac{4}{3}\\\\stackrel{\\\\longrightarrow}{AC}$', '$\\\\stackrel{\\\\longrightarrow}{AD}=\\\\frac{4}{3}\\\\stackrel{\\\\longrightarrow}{AB}+\\\\frac{1}{3}\\\\stackrel{\\\\longrightarrow}{AC}$', '$\\\\stackrel{\\\\longrightarrow}{AD}=\\\\frac{4}{3}\\\\stackrel{\\\\longrightarrow}{AB}-\\\\frac{1}{3}\\\\stackrel{\\\\longrightarrow}{AC}$']", "type": 6} +{"stem": "函数$f(x)=\\cos(\\omega x+\\varphi)$的部分图象如图所示,则$f(x)$的单调递减区间为$\\FigureID{3bf87f2e-8af1-11eb-814c-b46bfc50aa29}$$\\FigureID{59be25b4-8af1-11eb-b204-b46bfc50aa29}$$\\FigureID{08946962-8b7c-11eb-9a17-b46bfc50aa29}$", "options": "['$(k\\\\pi-\\\\frac{1}{4},k\\\\pi+\\\\frac{3}{4}), k\\\\in z$', '$(2k\\\\pi-\\\\frac{1}{4}, 2k\\\\pi+\\\\frac{3}{4}), k\\\\in z$', '$(k-\\\\frac{1}{4}, k+\\\\frac{3}{4}), k\\\\in z$', '$(2k-\\\\frac{1}{4}, 2k+\\\\frac{3}{4}), k\\\\in z$']", "type": 6} +{"stem": "执行如图所示的程序框图,如果输入的t=0.01,则输出的n=(  )$\\FigureID{3bf87f2f-8af1-11eb-9043-b46bfc50aa29}$$\\FigureID{59be25b5-8af1-11eb-b64a-b46bfc50aa29}$$\\FigureID{08946963-8b7c-11eb-af0f-b46bfc50aa29}$", "options": "['5', '6', '7', '8']", "type": 6} +{"stem": "$(x^2+x+y)^5$的展开式中,$x^5y^2$的系数为(  )", "options": "['1', '2', '3', '6']", "type": 6} +{"stem": "圆柱被一个平面截去一部分后与半球(半径为$r$)组成一个几何体,该几何体三视图中的正视图和俯视图如图所示.若该几何体的表面积为$16+20\\pi$,则$r$=(  )$\\FigureID{3bf8a686-8af1-11eb-978e-b46bfc50aa29}$$\\FigureID{59be25b6-8af1-11eb-ad83-b46bfc50aa29}$$\\FigureID{08946964-8b7c-11eb-87d5-b46bfc50aa29}$", "options": "['1', '2', '4', '8']", "type": 6} +{"stem": "设函数$f(x)=e^x(2x-1)-ax+a$,其中$a\\lt1$,若存在唯一的整数$x_0$使得$f(x_0)\\lt0$,则$a$的取值范围是(  )", "options": "['$[-\\\\frac{3}{2e},1)$', '$[-\\\\frac{3}{2e},\\\\frac{3}{4})$', '$[\\\\frac{3}{2e},\\\\frac{3}{4})$', '$[\\\\frac{3}{2e},1)$']", "type": 6} +{"stem": "若函数$f(x)=x\\ln(x+\\sqrt{a+x^2})$为偶函数,则$a$=______.", "options": "[]", "type": 2} +{"stem": "一个圆经过椭圆$\\frac{x^2}{16}+\\frac{y^2}{4}=1$的三个顶点.且圆心在$x$轴的正半轴上.则该圆标准方程为____________.", "options": "[]", "type": 2} +{"stem": "若x,y满足约束条件$\\begin{cases}x-1\\geqslant0\\x-y\\leqslant0\\x+y-4\\leqslant0\\end{cases}$.则$\\frac{y}{x}$的最大值为______.", "options": "[]", "type": 2} +{"stem": "在平面四边形$ABCD$中,$\\angle A=\\angle B=\\angle C=75^{\\circ}$.$BC=2$,则$AB$的取值范围是____________.", "options": "[]", "type": 2} +{"stem": "$S_n$为数列$\\{a_n\\}$的前$n$项和,已知$a_n>0,a_n^2+2a_n=4S_n+3$求${a_n}$的通项公式;设$b_n=\\frac{1}{a_na_{n+1}}$,求数列${b_n}$的前$n$项和.", "options": "[]", "type": 4} +{"stem": "如图,四边形$ABCD$为菱形,$\\angle ABC=120^{\\circ}$,$E$,$F$是平面$ABCD$同一侧的两点,$BE\\bot$平面$ABCD$,$DF\\bot$平面$ ABCD$,$BE=2DF$,$AE\\bot EC$.证明:平面$AEC\\bot$平面$AFC$;求直线$AE$与直线$CF$所成角的余弦值.$\\FigureID{3bf8a687-8af1-11eb-ad64-b46bfc50aa29}$$\\FigureID{59be4d02-8af1-11eb-8930-b46bfc50aa29}$$\\FigureID{08946965-8b7c-11eb-b578-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "某公司为确定下一年度投入某种产品的宣传费,需了解年宣传费$x$(单位:千元)对年销售量$y$(单位:$t$)和年利润$z$(单位:千元)的影响,对近8年的年宣传费$x_i$和年销售量$y_i(i=1,2,…,8)$数据作了初步处理,得到下面的散点图及一些统计量的值.根据散点图判断,$y=a+bx$与$y=c+d\\sqrt{x}$哪一个适宜作为年销售量$y$关于年宣传费$x$的回归方程类型?(给出判断即可,不必说明理由);根据(Ⅰ)的判断结果及表中数据,建立$y$关于$x$的回归方程;已知这种产品的年利润$z$与$x$、$y$的关系为$z=0.2y-x$.根据(Ⅱ)的结果回答下列问题:\n(i)年宣传费$x=49$时,年销售量及年利润的预报值是多少?\n(ii)年宣传费$x$为何值时,年利润的预报值最大?\n附:对于一组数据$(u_1 v_1),(u_2 v_2)…..(u_n v_n)$,其回归线$v=\\alpha+\\beta u$的斜率和截距的最小二乘估计分别为:\n$\\widehat{\\beta}=\\frac{\\sum\\limits_{i=1}^n(u_i-\\bar{u})(v_i-\\bar{v})}{\\sum\\limits_{i=1}^n(u_i-\\bar{u})^2},\\widehat{\\alpha}=\\bar{v}-\\widehat{\\beta}\\bar{u}$$\\FigureID{3bf8cd5e-8af1-11eb-8747-b46bfc50aa29}$$\\FigureID{59be4d03-8af1-11eb-a865-b46bfc50aa29}$$\\FigureID{08946966-8b7c-11eb-9b92-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系$xOy$中,曲线$C:y=\\frac{x^2}{4}$与直线$l:y=kx+a (a>0)$交于M,N两点.当$k=0$时,分別求$C$在点$M$和$N$处的切线方程;$y$轴上是否存在点$P$,使得当$k$变动时,总有$\\angle OPM=\\angle OPN$?(说明理由)", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=x^{3}+a x+\\frac{1}{4}, g(x)=-\\ln x$当a为何值时,x轴为曲线$y=f(x)$的切线;用min{m,n}表示m,n中的最小值,设函数$h(x)=\\min \\{f(x), g(x)\\}(x\\gt0)$,讨论$h(x)$零点的个数.", "options": "[]", "type": 4} +{"stem": "如图,$AB$是$\\odot \\mathrm{O}$的直径,$AC$是$\\odot \\mathrm{O}$的切线,$BC$交$\\odot \\mathrm{O}$于点E若$D$为$AC$的中点,证明:DE是$\\odot \\mathrm{O}$的切线;若$OA=\\sqrt{3}CE$,求$\\angle ACB$的大小$\\FigureID{3bf8cd5f-8af1-11eb-93c4-b46bfc50aa29}$$\\FigureID{59be7418-8af1-11eb-a8e4-b46bfc50aa29}$$\\FigureID{089495fa-8b7c-11eb-b855-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系$xOy$中,直线$C_1:x=-2$,圆$C_{2}:(x-1)^{2}+(y-2)^{2}=1$,以坐标原点为极点,$x$轴的正半轴为极轴建立极坐标系.求$C_1,C_2$的极坐标方程;若直线$C_3$的极坐标方程为$\\theta=\\frac{\\pi}{4}(\\rho \\in R)$,设$C_2$与$C_3$的交点为$M$,$N$,求$\\triangle C_2MN$的面积", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=|x+1|-2|x-a|, a>0$.当$a=1$时,求不等式$f(x)>1$的解集;若$f(x)$的图象与$x$轴围成的三角形面积大于6,求$a$的取值范围.", "options": "[]", "type": 4} +{"stem": "设集合A={x|x2﹣4x+3<0},B={x|2x﹣3>0},则A∩B=(  )", "options": "['$\\\\left(-3,-\\\\frac{3}{2}\\\\right)$', '$\\\\left(-3, \\\\frac{3}{2}\\\\right)$', '$\\\\left(1, \\\\frac{3}{2}\\\\right)$', '$\\\\left(\\\\frac{3}{2}, 3\\\\right)$']", "type": 6} +{"stem": "设(1+i) x=1+yi,其中 x,y 是实数,则 $|x+y_i|=$(  )", "options": "['1', '$\\\\sqrt{2}$', '$\\\\sqrt{3}$', '2']", "type": 6} +{"stem": "已知等差数列 \\{an 前 9 项的和为 27, a_o=8,则 a $_{100}=$(  )", "options": "['100', '99', '98', '97']", "type": 6} +{"stem": "某公司的班车在7:00,8:00,8:30发车,小明在7:50至8:30之间到达发车站乘坐班车,且到达发车站的时刻是随机的,则他等车时间不超过10分钟的概率是(  )", "options": "['$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '$\\\\frac{2}{3}$', '$\\\\frac{3}{4}$']", "type": 6} +{"stem": "已知方程$\\frac{x^{2}}{m^{2}+n}-\\frac{y^{2}}{3 m^{2}-n}=1$表示双曲线,且该双曲线两焦点间的距离为4,则n的取值范围是(  )", "options": "['(﹣1,3)', '$(-1, \\\\sqrt{3})$', '(0,3)', '$(0, \\\\sqrt{3})$']", "type": 6} +{"stem": "如图,某几何体的三视图是三个半径相等的圆及每个圆中两条相互垂直的半径.若该几何体的体积是$\\frac{28 \\pi}{3}$,则它的表面积是(  )\n$\\FigureID{3bf8cd60-8af1-11eb-92ce-b46bfc50aa29}$$\\FigureID{59be9af6-8af1-11eb-a4c5-b46bfc50aa29}$$\\FigureID{089495fb-8b7c-11eb-8f57-b46bfc50aa29}$", "options": "['17$\\\\pi$', '18$\\\\pi$', '20$\\\\pi$', '28$\\\\pi$']", "type": 6} +{"stem": "函数$y=2 x^{2}-e^{|x|}$在[﹣2,2]的图象大致为(  )", "options": "['$\\\\LUNAPictureID{3bfee0f4-8af1-11eb-af2d-b46bfc50aa29}$$\\\\LUNAPictureID{59c4a96c-8af1-11eb-a840-b46bfc50aa29}$$\\\\LUNAPictureID{08991cba-8b7c-11eb-98a9-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfee0f5-8af1-11eb-b485-b46bfc50aa29}$$\\\\LUNAPictureID{59c4a96d-8af1-11eb-a113-b46bfc50aa29}$$\\\\LUNAPictureID{08991cbb-8b7c-11eb-affd-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfee0f6-8af1-11eb-8bb6-b46bfc50aa29}$$\\\\LUNAPictureID{59c4a96e-8af1-11eb-8c20-b46bfc50aa29}$$\\\\LUNAPictureID{08991cbc-8b7c-11eb-9481-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bfee0f7-8af1-11eb-a188-b46bfc50aa29}$$\\\\LUNAPictureID{59c4a96f-8af1-11eb-859e-b46bfc50aa29}$$\\\\LUNAPictureID{08991cbd-8b7c-11eb-94c1-b46bfc50aa29}$']", "type": 6} +{"stem": "若a>b>1,0<c<1,则(  )", "options": "['$a^{c}0, \\quad|\\phi| \\leqslant \\frac{\\pi}{2}\\right), \\quad x=-\\frac{\\pi}{4}$为$f(x)$的零点,$\\mathrm{x}=\\frac{\\pi}{4}$ 为 $\\mathrm{y}=\\mathrm{f}(\\mathrm{x})$ 图象的对称轴,且 $\\mathrm{f}(\\mathrm{x})$ 在 $\\left(\\frac{\\pi}{18}, \\frac{5 \\pi}{36}\\right)$上单调,则$\\omega$的最大值为(  )", "options": "['11', '9', '7', '5']", "type": 6} +{"stem": "设向量 $\\vec{a}=(m, 1), \\vec{b}=(1,2), \\quad$ 日 $|\\vec{a}+\\vec{b}|^{2}=|\\vec{a}|^{2}+|\\vec{b}|^{2},$ 则 $m=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "$(2 x+\\sqrt{x})^{5}$的展开式中, $\\mathrm{x}^{3}$ 的系数是$\\SIFBlank$.(用数字填写答案)", "options": "[]", "type": 2} +{"stem": "设等比数列${a_n}$满足$a_1+a_3=10,a_2+a_4=5,则a_1a_2…a_n$的最大值为$\\SIFBlank$.", "options": "[]", "type": 2} +{"stem": "某高科技企业生产产品A和产品B需要甲、乙两种新型材料.生产一件产品A需要甲材料1.5kg,乙材料1kg,用5个工时;生产一件产品B需要甲材料0.5kg,乙材料0.3kg,用3个工时,生产一件产品A的利润为2100元,生产一件产品B的利润为900元.该企业现有甲材料150kg,乙材料90kg,则在不超过600个工时的条件下,生产产品A、产品B的利润之和的最大值为_______元.", "options": "[]", "type": 2} +{"stem": "△ABC的内角A,B,C的对边分别为a,b,c,已知2cosC(acosB+bcosA)=c.求C;若 $\\mathrm{c}=\\sqrt{7}, \\quad \\triangle \\mathrm{ABC}$ 的面积为 $\\frac{3 \\sqrt{3}}{2},$ 求 $\\triangle \\mathrm{ABC}$ 的周长", "options": "[]", "type": 4} +{"stem": "如图,在以A,B,C,D,E,F为顶点的五面体中,面ABEF为正方形,AF=2FD,$\\angle \\mathrm{AFD}=90^{\\circ}$,且二面角D﹣AF﹣E与二面角C﹣BE﹣F都是$60^{\\circ}$.证明平面ABEF$\\perp$平面EFDC;求二面角E﹣BC﹣A的余弦值.", "options": "[]", "type": 4} +{"stem": "某公司计划购买2台机器,该种机器使用三年后即被淘汰.机器有一易损零件,在购进机器时,可以额外购买这种零件作为备件,每个200元.在机器使用期间,如果备件不足再购买,则每个500元.现需决策在购买机器时应同时购买几个易损零件,为此搜集并整理了100台这种机器在三年使用期内更换的易损零件数,得如图柱状图:\n以这100台机器更换的易损零件数的频率代替1台机器更换的易损零件数发生的概率,记X表示2台机器三年内共需更换的易损零件数,n表示购买2台机器的同时购买的易损零件数.求X的分布列;若要求P(X≤n)≥0.5,确定n的最小值;以购买易损零件所需费用的期望值为决策依据,在n=19与n=20之中选其一,应选用哪个?$\\FigureID{3bf8f465-8af1-11eb-b1da-b46bfc50aa29}$$\\FigureID{59bee922-8af1-11eb-b823-b46bfc50aa29}$$\\FigureID{0894bf90-8b7c-11eb-9a65-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "设圆 x^+y^+2x-15=0 的圆心为 A,直线l过点 B(1,0)且与 x 轴不\n重合,l交圆 A 于 C, D 两点,过 B 作 AC的平行线交 AD 于点 E.证明|EA |+|EB|为定值,并写出点 E 的轨迹方程;设点 E 的轨迹为曲线 C $_{1},$ 直线।交 C $_{1}$ 于 M, N 两点,过 B 且与 I 垂直的直线与圆 A 交于 P, Q两点,求四边形 MPNQ 面积的取值范围。", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=(x-2) e^{x+a}(x-1)^{2}$有两个零点.求a的取值范围;设 $\\mathrm{x}_{1}, \\quad \\mathrm{x}_{2}$ 是 $\\mathrm{f}(\\mathrm{x})$ 的两个零点,证明: $\\mathrm{x}_{1}+\\mathrm{x}_{2}<2$.", "options": "[]", "type": 4} +{"stem": "如图, $\\triangle \\mathrm{OAB}$ 是等腰三角形, $\\angle \\mathrm{AOB}=120^{\\circ} .$ 以 0 为圆心 $, \\frac{1}{2} \\mathrm{OA}$ 为半径作圆.证明:直线 AB 与 $\\odot$ O 相切;点 C,D 在 $\\odot$ O上, 且. A, B,C,D 四点共圆,证明: AB//CD.$\\FigureID{3bf91700-8af1-11eb-bed2-b46bfc50aa29}$$\\FigureID{59bee923-8af1-11eb-ae32-b46bfc50aa29}$$\\FigureID{0894bf91-8b7c-11eb-b6a3-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系 xOy 中,曲线 C $_{1}$ 的参数方程为 $\\left\\{\\begin{array}{l}\\mathrm{x}=\\mathrm{acost} \\quad( \\mathrm{t} \\text { 为参数 }, \\mathrm{a}>0) . \\text { 在 } \\ \\mathrm{y}=1+\\mathrm{asint}\\end{array}\\right.$\n以坐标原点为极点, x 轴正半轴为极轴的极坐标系中,曲线 $C_{2}$: $\\rho=4 \\cos \\theta$说明 $C_{1}$是哪种曲线,并将 $C_{1}$的方程化为极坐标方程;直线 $C_{3}$的极坐标方程为$\\theta=\\alpha_{0},$ 其中 $\\alpha_{0}$ 满足 $\\tan \\alpha_{0}=2$,若曲线 $C_{1}$与 $C_{2}$的公共点都在 $C_{3}$上,求 a.", "options": "[]", "type": 4} +{"stem": "已知函数 f $(x)=|x+1|-|2 x-3|$在图中画出 y=f(x)的图象;求不等式|f(x)|>1 的解集。$\\FigureID{3bf91701-8af1-11eb-9b92-b46bfc50aa29}$$\\FigureID{59bee924-8af1-11eb-8a7a-b46bfc50aa29}$$\\FigureID{0894bf92-8b7c-11eb-a98a-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知集合 $A=\\{x | x<1\\}, \\quad B=\\left\\{x | 3^{x}<1\\right\\}, \\quad$ 则$\\quad |$$\\SIFChoice$", "options": "['$A \\\\cap B=\\\\{x | x<0\\\\}$', '$A \\\\cup B=R$', '$A \\\\cup B=\\\\{x | x>1\\\\}$', '$A \\\\cap B=\\\\varnothing$']", "type": 6} +{"stem": "如图,正方形ABCD内的图形来自中国古代的太极图.正方形内切圆中的黑色部分和白色部分关于正方形的中心成中心对称.在正方形内随机取一点,则此点取自黑色部分的概率是(  )$\\FigureID{3bf91702-8af1-11eb-9f00-b46bfc50aa29}$$\\FigureID{59bf105a-8af1-11eb-99dc-b46bfc50aa29}$$\\FigureID{0894e6d0-8b7c-11eb-9eb5-b46bfc50aa29}$", "options": "['$\\\\frac{1}{4}$', '$\\\\frac{\\\\pi}{8}$', '$\\\\frac{1}{2}$', '$\\\\frac{\\\\pi}{4}$']", "type": 6} +{"stem": "设有下面四个命题\n$\\mathrm{p}_{1}:$ 若复数 $\\mathrm{z}$ 满足 $\\frac{1}{\\mathrm{z}} \\in \\mathrm{R},$ 则 $\\mathrm{z} \\in \\mathrm{R}$,\n$\\mathrm{p}_{2}:$ 若复数 z 满足 z $^{2} \\in \\mathrm{R},$ 则 $_{\\mathrm{z}} \\in \\mathrm{R}_{\\text {; }}$,\n$\\mathrm{p}_{3}:$ 若复数 $\\mathrm{z}_{1}, \\quad \\mathrm{z}_{2}$ 满足 $\\mathrm{z}_{12} \\in \\mathrm{E}, \\quad$ 则 $\\mathrm{z}_{1}=\\overline{\\mathrm{z}_{2}}$,\n$p_{4}: $ 若复数 $z \\in R, \\quad$ 则 $\\bar{z} \\in R$.\n其中的真命题为(  )", "options": "['$p_{1}, p_{3}$', '$p_{1}, p_{4}$', '$p_{2}, p_{3}$', '$p_{2}, p_{4}$']", "type": 6} +{"stem": "记 Sn为等差数列{an} 的前 n 项和。若 a $_{4}+a_{5}=24, \\quad S_{6}=48,$ 则 $\\left\\{a_{n}\\right\\}$ 的公差", "options": "['1', '2', '4', '8']", "type": 6} +{"stem": "函数f(x)在$(-\\infty,+\\infty)$单调递减,且为奇函数.若f(1)=﹣1,则满足$-1 \\leqslant f(x-2) \\leqslant 1$1的x的取值范围是(  )", "options": "['[﹣2,2]', '[﹣1,1]', '[0,4]', '[1,3]']", "type": 6} +{"stem": "$\\left(1+\\frac{1}{x^{2}}\\right)(1+x)^{6}$展开式中$x^{2}$的系数为(  )", "options": "{'1': '5', '2': '0', '3': '5'}", "type": 6} +{"stem": "某多面体的三视图如图所示,其中正视图和左视图都由正方形和等腰直角三角形组成,正方形的边长为2,俯视图为等腰直角三角形,该多面体的各个面中有若干个是梯形,这些梯形的面积之和为(  )$\\FigureID{3bf91703-8af1-11eb-9099-b46bfc50aa29}$$\\FigureID{59bf375c-8af1-11eb-8f99-b46bfc50aa29}$$\\FigureID{0894e6d1-8b7c-11eb-85c7-b46bfc50aa29}$", "options": "['10', '12', '14', '16']", "type": 6} +{"stem": "如图程序框图是为了求出满足$3^{n}-2^{n}>1000$的最小偶数n,那么在菱形和矩形两个空白框中,可以分别填入$\\FigureID{3bf93e4a-8af1-11eb-ae13-b46bfc50aa29}$$\\FigureID{59bf375d-8af1-11eb-8e2e-b46bfc50aa29}$$\\FigureID{0894e6d2-8b7c-11eb-8478-b46bfc50aa29}$", "options": "['A>1000和n=n+1', 'A>1000和n=n+2', 'A≤1000和n=n+1', 'A≤1000和n=n+2']", "type": 6} +{"stem": "已知曲线C1:$y=\\cos x, \\quad C_{2}: y=\\sin \\left(2 x+\\frac{2 \\pi}{3}\\right)$,则下面结论正确的是(  )", "options": "['把C1上各点的横坐标伸长到原来的2倍,纵坐标不变,再把得到的曲线向右平移$\\\\frac{\\\\pi}{6}$个单位长度,得到曲线C2', '把C1上各点的横坐标伸长到原来的2倍,纵坐标不变,再把得到的曲线向左平移$\\\\frac{\\\\pi}{12}$个单位长度,得到曲线C2', '把C1上各点的横坐标缩短到原来的$\\\\frac{1}{2}$倍,纵坐标不变,再把得到的曲线向右平移$\\\\frac{\\\\pi}{6}$个单位长度,得到曲线C2\\t', '把C1上各点的横坐标缩短到原来的$\\\\frac{1}{2}$倍,纵坐标不变,再把得到的曲线向左平移$\\\\frac{\\\\pi}{12}$个单位长度,得到曲线C2\\t']", "type": 6} +{"stem": "已知F为抛物线C:$y^{2}=4 x$的焦点,过F作两条互相垂直的直线l1,l2,直线l1与C交于A、B两点,直线l2与C交于D、E两点,则|AB|+|DE|的最小值为(  )", "options": "['0']", "type": 6} +{"stem": "设x、y、z为正数,且$2^{x}=3^{y}=5^{z}$,则(  )", "options": "['2x<3y<5z', '5z<2x<3y', '3y<5z<2x', '3y<2x<5z']", "type": 6} +{"stem": "几位大学生响应国家的创业号召,开发了一款应用软件.为激发大家学习数学的兴趣,他们推出了“解数学题获取软件激活码”的活动.这款软件的激活码为下面数学问题的答案:已知数列1,1,2,1,2,4,1,2,4,8,1,2,4,8,16,…,其中第一项是$2^{0}$,接下来的两项是$2^{0}, 2^{1}$,再接下来的三项是$2^{0}, 2^{1}, 2^{2}$,依此类推.求满足如下条件的最小整数N:N>100且该数列的前N项和为2的整数幂.那么该款软件的激活码是(  )", "options": "['440', '330', '220', '110']", "type": 6} +{"stem": "已知向量$\\vec{a}, \\vec{b}$的夹角为 $60^{\\circ}, \\quad|\\vec{a}|=2, \\quad|\\vec{b}|=1$,则 $ | \\vec{a}+2 \\vec{b} |$=_______.", "options": "[]", "type": 2} +{"stem": "设x,y满足约束条件$\\left\\{\\begin{array}{l}x+2 y \\leq 1 \\ 2 x+y \\geqslant-1 \\ x-y \\leqslant 0\\end{array}\\right.$,则z=3x﹣2y的最小值为_______.", "options": "[]", "type": 2} +{"stem": "已知叉曲线 $C: \\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 \\quad(a>0, \\quad b>0)$ 的右顶点为 $A, \\quad$ 以 $A$ 为圆\n心,b 为半径作圆 A,圆 A 与双曲线 C 的一条渐近线交于 M、N 两点。若$\\angle \\mathrm{MAN}=60^{\\circ}$则 $\\mathrm{C}$ 的离心率为_______.", "options": "[]", "type": 2} +{"stem": "如图,圆形纸片的圆心为 O,半径为 5cm,该纸片上的等边三角形ABC 的中心为 O。 D、E、F 为圆 O 上的点, $\\triangle$DBC, AECA, AFAB 分别是以BC,CA,AB 为底边的等腰三角形。沿虚线剪开后,分别以 BC,CA,AB 为折痕折起 $\\triangle \\mathrm{DBC}, \\quad \\triangle \\mathrm{ECA}, \\quad \\triangle \\mathrm{FAB}, \\quad$ 使得 $\\mathrm{D}$ 、E、F 重合,得到三棱雉. $\\quad$ 当 $\\triangle \\mathrm{ABC}$的边长变化时,所得三棱雉体积(单位:$cm^3$)的最大值为_______$\\FigureID{3bf93e4b-8af1-11eb-aaa7-b46bfc50aa29}$$\\FigureID{59bf5e62-8af1-11eb-b6a3-b46bfc50aa29}$$\\FigureID{08950dca-8b7c-11eb-9e19-b46bfc50aa29}$", "options": "[]", "type": 2} +{"stem": "$\\triangle$ABC 的内角 A, B, C的对边分别少 a,b,c,已知$\\triangle$ABC的面积为$\\frac{a^{2}}{3 \\sin A}$.求 $\\sin B \\sin C$;若 6cosBcosC=1, a=3,求人ABC的周长。", "options": "[]", "type": 4} +{"stem": "如图,在四棱雉 P-ABCD 中,AB//CD,且 $\\angle B A P=\\angle C D P=90^{\\circ}$证明: 平面 PAB$\\perp$平面 PAD;若 PA=PD=AB=DC, $\\angle \\mathrm{APD}=90^{\\circ}$,求二面角 A - PB - C的余弦值.$\\FigureID{3bf9655e-8af1-11eb-a32c-b46bfc50aa29}$$\\FigureID{59bf5e63-8af1-11eb-80b6-b46bfc50aa29}$$\\FigureID{08950dcb-8b7c-11eb-a160-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "为了监控某种零件的一条生产线的生产过程,检验员每天从该生产线上随机抽取16个零件,并测量其尺寸(单位:cm).根据长期生产经验,可以认为这条生产线正常状态下生产的零件的尺寸服从正态分布N(μ,σ2).\n(1)假设生产状态正常,记X表示一天内抽取的16个零件中其尺寸在(μ﹣3σ,μ+3σ)之外的零件数,求P(X≥1)及X的数学期望;\n(2)一天内抽检零件中,如果出现了尺寸在(μ﹣3σ,μ+3σ)之外的零件,就认为这条生产线在这一天的生产过程可能出现了异常情况,需对当天的生产过程进行检查.试说明上述监控生产过程方法的合理性;下面是检验员在一天内抽取的16个零件的尺寸:\n经计算得 $\\bar{x}=\\frac{1}{16} \\sum_{i=1}^{16} x_{i}=9.97, \\quad s=\\sqrt{\\frac{1}{16} \\sum_{i=1}^{16}\\left(x_{i}-\\bar{x}\\right)^{2}}=\\sqrt{\\frac{1}{16}\\left(\\sum_{i=1}^{16} x_{i}^{2}-16 \\bar{x}^{2}\\right)} \\approx 0.212$\n其中 $x_{i}$为抽取的第 i 个零件的尺寸, i=1,2,..., 16.\n用样本平均数x作为$\\mu$的估计值 $\\mu$ ,用样本标准差 s 作为$\\sigma$的估计值 $\\sigma$ ,利用估计值判断是否需对当天的生产过程进行检查?易除( $\\mu-3 \\sigma, \\mu+3 \\sigma)$ 之外的数据,用剩下的数据估计\\mu和\\sigma(精确到 0.01)。\n附:若随机变量 Z 服从正态分布 $\\mathrm{N}\\left(\\mu, \\sigma^{2}\\right),$ 则 $\\mathrm{P}(\\mu-3 \\sigma<\\mathrm{Z}<\\mu+3 \\sigma)=0.9974$\n$0.9974^{16} \\approx 0.9592, \\quad \\sqrt{0.008} \\approx 0.09$", "options": "[]", "type": 4} +{"stem": "已知椭圆 $C: \\frac{x^{2}}{a^{2}}+\\frac{y^{2}}{b^{2}}=1 \\quad(a>b>0), \\quad \\mathbb{四点 ~} P_{1}(1,1), P_{2}(0,1)$$P_{3}\\left(-1, \\frac{\\sqrt{3}}{2}\\right), \\quad P_{4}\\left(1, \\frac{\\sqrt{3}}{2}\\right)$ 中恰有三点在椭圆C上求 C的方程;设直线।不经过 P_点且与 C 相交于 A,B 两点。若直线 P_A 与直线 P_B 的斜率的和为 - 1,证明: | 过定点。", "options": "[]", "type": 4} +{"stem": "已知函数 f (x) =ae^2x+ (a-2) e^{x - x. }讨论f(x)的单调性;若f(x)有两个零点,求a的取值范围.", "options": "[]", "type": 4} +{"stem": "在直角坐惊系 xOy 中,曲线 C的参数方程为 $\\left\\{\\begin{array}{l}x=3 \\cos \\theta \\ y=\\sin \\theta\\end{array},(\\theta \\text { 为参数 })\\right.$\n直线 I 的参数方程为 $\\left\\{\\begin{array}{l}\\mathrm{x}=\\mathrm{a}+4 \\mathrm{t} \\ \\mathrm{y}=1-\\mathrm{t}\\end{array}, \\quad(\\mathrm{t} \\text { 为参数 })\\right.$若 a= - 1, 求 C与I的交点坐标;若C 上的点到|距离的最大值少$\\sqrt17$,求 a", "options": "[]", "type": 4} +{"stem": "已知函数 f $(x)=-x^{2}+a x+4, g(x)=|x+1|+|x-1|$当 a=1 时,求不等式 $f(x) \\geqslant g(x)$的解集;若不等式$f(x) \\geqslant g(x)$的解集包含[-1,1],求 a 的取值范围。", "options": "[]", "type": 4} +{"stem": "设$z=\\frac{1-i}{1+i}+2 i$,则$|z|$=(  )", "options": "['0', '$\\\\frac{1}{2}$', '1', '$\\\\sqrt{2}$']", "type": 6} +{"stem": "已知集合$A=\\left\\{x | x^{2}-x-2>0\\right\\}$,则$\\left[_{R} A\\right.$=(  )", "options": "['$\\\\{x |-12\\\\}$', '$\\\\{x | x \\\\leqslant-1\\\\} \\\\cup\\\\{x | x \\\\geqslant 2\\\\}$']", "type": 6} +{"stem": "某地区经过一年的新农村建设,农村的经济收入增加了一倍,实现翻番.为更好地了解该地区农村的经济收入变化情况,统计了该地区新农村建设前后农村的经济收入构成比例,得到如下饼图,则下面结论中不正确的是(  )$\\FigureID{3bf9655f-8af1-11eb-aae6-b46bfc50aa29}$$\\FigureID{59bf86e8-8af1-11eb-9884-b46bfc50aa29}$$\\FigureID{08953506-8b7c-11eb-b618-b46bfc50aa29}$", "options": "['新农村建设后,种植收入减少', '新农村建设后,其他收入增加了一倍以上', '新农村建设后,养殖收入增加了一倍\\t', '新农村建设后,养殖收入与第三产业收入的总和超过了经济收入的一半']", "type": 6} +{"stem": "记$\\mathrm{S}_{n}$为等差数列$\\left\\{a_{n}\\right\\}$的前n项和.若$3 \\mathrm{S}_{3}=\\mathrm{S}_{2}+\\mathrm{S}_{4}$,$a_{1}=2$,则$a_{5}=$(  )", "options": "['﹣12', '﹣10', '10', '12']", "type": 6} +{"stem": "设函数$f(x)=x^{3}+(a-1) x^{2}+a x$.若$f(x)$为奇函数,则曲线$y=f(x)$在点(0,0)处的切线方程为(  )", "options": "['y=﹣2x', 'y=﹣x', 'y=2x', 'y=x']", "type": 6} +{"stem": "在$\\triangle \\mathrm{ABC}$中,AD为BC边上的中线,E为AD的中点,则$\\overrightarrow{\\mathrm{EB}}$=(  )", "options": "['$\\\\frac{3}{4} \\\\overrightarrow{\\\\mathrm{AB}}-\\\\frac{1}{4} \\\\overrightarrow{\\\\mathrm{AC}}$', '$\\\\frac{1}{4} \\\\overrightarrow{\\\\mathrm{AB}}-\\\\frac{3}{4} \\\\overrightarrow{\\\\mathrm{AC}}$', '$\\\\frac{3}{4} \\\\overrightarrow{\\\\mathrm{AB}}+\\\\frac{1}{4} \\\\overrightarrow{\\\\mathrm{AC}}$', '$\\\\frac{1}{4} \\\\overrightarrow{\\\\mathrm{AB}}+\\\\frac{3}{4} \\\\overrightarrow{\\\\mathrm{AC}}$']", "type": 6} +{"stem": "某圆柱的高为2,底面周长为16,其三视图如图.圆柱表面上的点M在正视图上的对应点为A,圆柱表面上的点N在左视图上的对应点为B,则在此圆柱侧面上,从M到N的路径中,最短路径的长度为(  )$\\FigureID{3bf98c4a-8af1-11eb-983a-b46bfc50aa29}$$\\FigureID{59bf86e9-8af1-11eb-a4e1-b46bfc50aa29}$$\\FigureID{08953507-8b7c-11eb-8cc5-b46bfc50aa29}$", "options": "['$2 \\\\sqrt{17}$', '$2 \\\\sqrt{5}$', '3', '2']", "type": 6} +{"stem": "设抛物线C:$y^{2}=4 x$的焦点为F,过点(﹣2,0)且斜率为$\\frac{2}{3}$的直线与C交于M,N两点,则$\\overrightarrow{\\mathrm{FM}} \\cdot \\overrightarrow{\\mathrm{FN}}$=(  )", "options": "['5', '6', '7', '8']", "type": 6} +{"stem": "已知函数$f(x)=\\left\\{\\begin{array}{ll}e^{x}, & x \\leqslant 0 \\ \\ln x, & x>0\\end{array}\\right.$,$g(x)=f(x)+x+a$.若g(x)存在2个零点,则a的取值范围是(  )", "options": "['[-1,0)', '$[0,+\\\\infty)$', '$[-1,+\\\\infty)$', '$[1,+\\\\infty)$']", "type": 6} +{"stem": "如图来自古希腊数学家希波克拉底所研究的几何图形.此图由三个半圆构成,三个半圆的直径分别为直角三角形ABC的斜边BC,直角边AB,AC.$\\triangle \\mathrm{ABC}$的三边所围成的区域记为I,黑色部分记为Ⅱ,其余部分记为Ⅲ.在整个图形中随机取一点,此点取自Ⅰ,Ⅱ,Ⅲ的概率分别记为$p_{1}$,$p_{2}$,$ p_{3}$,则(  )$\\FigureID{3bf98c4b-8af1-11eb-ab5e-b46bfc50aa29}$$\\FigureID{59bf86ea-8af1-11eb-88d0-b46bfc50aa29}$$\\FigureID{08953508-8b7c-11eb-a8cb-b46bfc50aa29}$", "options": "['$p_{1}=p_{2}$', '$p_{1}=p_{3}$', '$p_{2}=p_{3}$', '$p_{1}=p_{2}+p_{3}$']", "type": 6} +{"stem": "已知双曲线C:$\\frac{x^{2}}{3}-y^{2}=1$,O为坐标原点,F为C的右焦点,过F的直线与C的两条渐近线的交点分别为M,N.若$\\triangle$OMN为直角三角形,则$|\\mathrm{MN}|=$(  )", "options": "['$\\\\frac{3}{2}$', '3', '$2 \\\\sqrt{3}$', '4']", "type": 6} +{"stem": "已知正方体的棱长为1,每条棱所在直线与平面α所成的角都相等,则α截此正方体所得截面面积的最大值为(  )", "options": "['$\\\\frac{3 \\\\sqrt{3}}{4}$', '$\\\\frac{2 \\\\sqrt{3}}{3}$', '$\\\\frac{3 \\\\sqrt{2}}{4}$', '$\\\\frac{\\\\sqrt{3}}{2}$']", "type": 6} +{"stem": "若x,y满足约束条件$\\left\\{\\begin{array}{l}x-2 y-2 \\leqslant 0 \\ x-y+1 \\geqslant 0 \\ y \\leq 0\\end{array}\\right.$,则z=3x+2y的最大值为_______", "options": "[]", "type": 2} +{"stem": "记$\\mathrm{S}_{n}$为数列$\\left\\{a_{n}\\right\\}$的前n项和.若$\\mathrm{S}_{n}=2 a_{n}+1$,则$\\mathrm{S}_{6}=$_______", "options": "[]", "type": 2} +{"stem": "从2位女生,4位男生中选3人参加科技比赛,且至少有1位女生入选,则不同的选法共有_______种.(用数字填写答案)", "options": "[]", "type": 2} +{"stem": "已知函数$f(x)=2 \\sin x+\\sin 2 x$,则$f(x)$的最小值是$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "在平面四边形ABCD中,$\\angle \\mathrm{ADC}=90^{\\circ}$,$\\angle A=45^{\\circ}$,AB=2,BD=5.\n(1)求$\\cos \\angle \\mathrm{ADB}$;(2)若DC=$2 \\sqrt{2}$,求BC.", "options": "[]", "type": 4} +{"stem": ")如图,四边形ABCD为正方形,E,F分别为AD,BC的中点,以DF为折痕把$\\triangle \\mathrm{DFC}$折起,使点C到达点P的位置,目 PF $\\perp$ BF.(1)证明:平面PEF $\\perp$平面ABFD;(2)求DP与平面ABFD所成角的正弦值.$\\FigureID{3bf98c4c-8af1-11eb-9d23-b46bfc50aa29}$$\\FigureID{59bfac74-8af1-11eb-b7c2-b46bfc50aa29}$$\\FigureID{08953509-8b7c-11eb-83a6-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "设椭圆C:$\\frac{x^{2}}{2}+y^{2}=1$的右焦点为F,过F的直线l与C交于A,B两点,点M的坐标为(2,0).(1)当l与x轴垂直时,求直线AM的方程;(2)设O为坐标原点,证明:$\\angle \\mathrm{OMA}=\\angle \\mathrm{OMB}$.", "options": "[]", "type": 4} +{"stem": "某工厂的某种产品成箱包装,每箱200件,每一箱产品在交付用户之前要对产品作检验,如检验出不合格品,则更换为合格品.检验时,先从这箱产品中任取20件作检验,再根据检验结果决定是否对余下的所有产品作检验.设每件产品为不合格品的概率都为$p(01$的解集;(2)若$x \\in(0,1)$时不等式$f(x)>x$,求a的取值范围.", "options": "[]", "type": 4} +{"stem": "已知集合$M=\\{x |-40, b>0)$的左、右焦点分别为$F_{1}, F_{2}$,过$F_{1}$的直线与C的两条渐近线分别交于$A, B$ 两点.若$\\overrightarrow{F_{1} A}=\\overrightarrow{A B}, \\overrightarrow{F_{1} B} \\cdot \\overrightarrow{F_{2} B}=0$,则C的离心率为_______", "options": "[]", "type": 2} +{"stem": "$\\Delta \\mathrm{ABC}$ 的内角 $A, B, C$ 的对边分别为 $a, b, c,$ 设 $(\\sin B-\\sin C)^{2}=\\sin ^{2} A-\\sin B \\sin C$.(1)求A(2)若 $\\sqrt{2} a+b=2 c,$ 求 $\\sin C$", "options": "[]", "type": 4} +{"stem": "如图,直四棱柱$A B C D-A_{1} B_{1} C_{1} D_{1}$的底面是菱形,$A A_{1}=4,A B=2,\\angle B A D=60^{\\circ},E,M$,N分别是 $B C, B B_{1},,A_{1} D$ 的中点.(1)证明:$M N / /$ 平面 $C_{1} D E$(2)求二面角$A-M A_{1}-N$的正弦值.$\\FigureID{3bf98c50-8af1-11eb-bd91-b46bfc50aa29}$$\\FigureID{59bfd39b-8af1-11eb-af6f-b46bfc50aa29}$$\\FigureID{08956ab3-8b7c-11eb-ab64-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知抛物线C:$y^{2}=3 x$的焦点为F,斜率为$\\frac{3}{2}$的直线l与C的交点为A,B,与x轴的交点为P.(1)若$|A F|+|B F|=4$,求l的方程(2)若$\\overrightarrow{A P}=3 \\overrightarrow{P B}$,求$|A B|$.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=\\sin x-\\ln (1+x),\\quad f^{\\prime}(x)$ 为 $f(x)$的导数.证明:(1)$f^{\\prime}(x)$ 在区间 $\\left(-1, \\frac{\\pi}{2}\\right)$存在唯一极大值点(2)$f(x)$有且仅有2个零点", "options": "[]", "type": 4} +{"stem": "为了治疗某种疾病,研制了甲、乙两种新药,希望知道哪种新药更有效,为此进行动物试验.试验方案如下:每一轮选取两只白鼠对药效进行对比试验.对于两只白鼠,随机选一只施以甲药,另一只施以乙药.一轮的治疗结果得出后,再安排下一轮试验.当其中一种药治愈的白鼠比另一种药治愈的白鼠多4只时,就停止试验,并认为治愈只数多的药更有效.为了方便描述问题,约定:对于每轮试验,若施以甲药的白鼠治愈且施以乙药的白鼠未治愈则甲药得1分,乙药得 分;若施以乙药的白鼠治愈且施以甲药的白鼠未治愈则乙药得1分,甲药得 分;若都治愈或都未治愈则两种药均得0分.甲、乙两种药的治愈率分别记为α和β,一轮试验中甲药的得分记为X.(1)求X的分布列;(2)若甲药、乙药在试验开始时都赋予4分,$p_{i}(i=0,1, \\cdots, 8)$表示“甲药的累计得分为i时,最终认为甲药比乙药更有效”的概率,则$p_{0}=0, \\quad p_{8}=1$,\n$p_{i}=a p_{i-1}+b p_{i}+c p_{i+1}(i=1,2, \\cdots, 7),$ 其中 $a=P(X=-1), b=P(X=0)$,\n$c=P(X=1) \\cdot$ 假设 $\\alpha=0.5, \\beta=0.8$\n(i)证明:$\\left\\{p_{i+1}-p_{i}\\right\\}(i=0,1,2, \\cdots, 7)$为等比数列;\n(ii)求$p_{4}$,并根据$p_{4}$的值解释这种试验方案的合理性.\n", "options": "[]", "type": 4} +{"stem": "[选修4-4:坐标系与参数方程] 在直角坐标系xOy中,曲线C的参数方程为$\\left\\{\\begin{array}{l}x=\\frac{1-t^{2}}{1+t^{2}} \\ y=\\frac{4 t}{1+t^{2}}\\end{array}\\right.$(t为参数),以坐标原点O为极点,x轴的正半轴为极轴建立极坐标系,直线l的极坐标方程为$2 \\rho \\cos \\theta+\\sqrt{3} \\rho \\sin \\theta+11=0$.(1)求C和l的直角坐标方程;(2)求C上的点到l距离的最小值.", "options": "[]", "type": 4} +{"stem": "[选修4-5:不等式选讲]已知$a, b, c$ 为正数,且满足 $a b c=1$.证明:(1)$\\frac{1}{a}+\\frac{1}{b}+\\frac{1}{c} \\leq a^{2}+b^{2}+c^{2}$(2)$(a+b)^{3}+(b+c)^{3}+(c+a)^{3} \\geq 24$", "options": "[]", "type": 4} +{"stem": "设集合$S=\\{x |(x-2)(x-3) \\geqslant 0\\}$,$T=\\{x | x>0\\}$,则$\\mathrm{S} \\cap \\mathrm{T}=$(  )", "options": "['[2,3]', '$(-\\\\infty, 2] \\\\cup[3,+\\\\infty)$', '$[3,+\\\\infty)$', '(0,2]$\\\\cup[3,+\\\\infty)$']", "type": 6} +{"stem": "若$z=1+2$,则$\\frac{4 i}{z^{\\bullet} \\bar{z}-1}=$(  )", "options": "['1', '-1', 'i', '-i']", "type": 6} +{"stem": "已知向量$\\overrightarrow{B A}=\\left(\\frac{1}{2}, \\frac{\\sqrt{3}}{2}\\right)$,$\\overrightarrow{\\mathrm{BC}}=\\left(\\frac{\\sqrt{3}}{2}, \\frac{1}{2}\\right)$,则$\\angle \\mathrm{ABC}=$(  )", "options": "['30°', '45°', '60°', '120°\\t']", "type": 6} +{"stem": "某旅游城市为向游客介绍本地的气温情况,绘制了一年中各月平均最高气温和平均最低气温的雷达图,图中A点表示十月的平均最高气温约为15℃,B点表示四月的平均最低气温约为5℃,下面叙述不正确的是(  )$\\FigureID{3bf9e924-8af1-11eb-b141-b46bfc50aa29}$$\\FigureID{59bffaa4-8af1-11eb-b583-b46bfc50aa29}$$\\FigureID{08959210-8b7c-11eb-b5d5-b46bfc50aa29}$", "options": "['各月的平均最低气温都在0℃以上', '七月的平均温差比一月的平均温差大', '三月和十一月的平均最高气温基本相同', '平均最高气温高于20℃的月份有5个']", "type": 6} +{"stem": "若$\\tan a=\\frac{3}{4}$,则$\\cos ^{2} a+2 \\sin 2 a=$(  )", "options": "['$\\\\frac{64}{25}$', '$\\\\frac{48}{25}$', '1', '$\\\\frac{16}{25}$']", "type": 6} +{"stem": "已知$a=2^{\\frac{4}{3}}$,$b=3^{\\frac{2}{3}}$,$c=25^{\\frac{1}{3}}$,则(  )", "options": "['$bb>0)$的左焦点,A,B分别为C的左,右顶点.P为C上一点,且$P F \\perp x$轴,过点A的直线l与线段PF交于点M,与y轴交于点E.若直线BM经过OE的中点,则C的离心率为(  )", "options": "['$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '$\\\\frac{2}{3}$', '$\\\\frac{3}{4}$']", "type": 6} +{"stem": "定义“规范01数列”$\\left\\{a_{n}\\right\\}$如下:$\\left\\{a_{n}\\right\\}$共有2m项,其中m项为0,m项为1,且对任意$\\mathrm{k} \\leqslant 2 \\mathrm{m}, \\mathrm{a}_{1}, \\mathrm{a}_{2}, \\ldots, \\mathrm{a}_{\\mathrm{k}}$中0的个数不少于1的个数,若m=4,则不同的“规范01数列”共有(  )", "options": "['18个', '16个', '14个', '12个']", "type": 6} +{"stem": "若x,y满足约束条件$\\left\\{\\begin{array}{l}x-y+1 \\geq 0 \\ x-2 y \\leq 0 \\ x+2 y-2 \\leq 0\\end{array}\\right.$,则z=x+y的最大值为_______", "options": "[]", "type": 2} +{"stem": "函数$y=\\sin x-\\sqrt{3} \\cos x$的图象可由函数$y=\\sin x+\\sqrt{3} \\cos x$的图象至少向右平移$\\SIFBlank$个单位长度得到", "options": "[]", "type": 2} +{"stem": "已知$f(x)$为偶函数,当$x<0$时,$f(x)=\\ln (-x)+3 x$,则曲线$y=f(x)$在点(1,-3)处的切线方程是_______", "options": "[]", "type": 2} +{"stem": "已知直线l:$m x+y+3 m-\\sqrt{3}=0$与圆$x^{2}+y^{2}=12$交于A,B两点,过A,B分别作l的垂线与x轴交于C,D两点,若$|A B|=2 \\sqrt{3}$,则$|C D|=$_______", "options": "[]", "type": 2} +{"stem": "已知数列$\\left\\{a_{n}\\right\\}$的前n项和$\\mathrm{S}_{n}=1+\\lambda \\mathrm{a}_{n}$,其中$\\lambda \\neq 0$.证明$\\left\\{a_{n}\\right\\}$是等比数列,并求其通项公式;若$\\mathrm{S}_{5}=\\frac{31}{32}$,求λ.", "options": "[]", "type": 4} +{"stem": "如图是我国2008年至2014年生活垃圾无害化处理量(单位:亿吨)的折线图.\n注:年份代码1﹣7分别对应年份2008﹣2014.\n附注:\n参考数据:$\\sum_{i=1}^{7} y_{i}=9.32, \\quad \\sum_{i=1}^{7} t_{i} y_{i}=40.17, \\quad \\sqrt{\\sum_{i=1}^{7}\\left(y_{i}-\\bar{y}\\right)^{2}}=0.55, \\quad \\sqrt{7} \\approx 2.646$\n参考公式:相关系数$r=\\frac{\\sum_{i=1}^{n}\\left(t_{i}-\\bar{t}\\right)\\left(y_{i}-\\bar{y}\\right)}{\\sqrt{\\sum_{i=1}^{n}\\left(t_{i}-\\bar{t}\\right)^{2} \\sum_{i=1}^{n}\\left(y_{i}-\\bar{y}\\right)^{2}}}$,\n回归方程$\\hat{y}=\\hat{a}+\\hat{b} t$中斜率和截距的最小二乘估计公式分别为:\n$\\hat{b}=\\frac{\\sum_{i=1}^{n}\\left(t_{i}-\\bar{t}\\right)\\left(y_{i}-\\bar{y}\\right)}{\\sum_{i=1}^{n}\\left(t_{i}-\\bar{t}\\right)^{2}}, \\quad \\widehat{a}=\\bar{y}-\\widehat{b} \\bar{t}$由折线图看出,可用线性回归模型拟合y与t的关系,请用相关系数加以证明;建立y关于t的回归方程(系数精确到0.01),预测2016年我国生活垃圾无害化处理量.$\\FigureID{3bfa1829-8af1-11eb-8aaf-b46bfc50aa29}$$\\FigureID{59c021bf-8af1-11eb-a8b7-b46bfc50aa29}$$\\FigureID{0895a493-8b7c-11eb-9d22-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "如图,四棱锥P﹣ABCD中,PA⊥底面ABCD,AD∥BC,AB=AD=AC=3,PA=BC=4,M为线段AD上一点,AM=2MD,N为PC的中点.证明:MN∥平面PAB;求直线AN与平面PMN所成角的正弦值.$\\FigureID{3bfa182a-8af1-11eb-ac34-b46bfc50aa29}$$\\FigureID{59c021c0-8af1-11eb-81a1-b46bfc50aa29}$$\\FigureID{0895a494-8b7c-11eb-9011-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知抛物线C:$y^{2}=2 x$的焦点为F,平行于x轴的两条直线$l_{1}$,$l_{2}$分别交C于A,B两点,交C的准线于P,Q两点.若F在线段AB上,R是PQ的中点,证明AR∥FQ;若△PQF的面积是△ABF的面积的两倍,求AB中点的轨迹方程.", "options": "[]", "type": 4} +{"stem": "设函数$f(x)=\\operatorname{a \\cos} 2 x+(a-1)(\\cos x+1)$,其中a>0,记$|f (x)|$的最大值为A.求$f^{\\prime}(x)$;求A;证明:$|f ^{\\prime}(x) | \\leqslant 2 A$.", "options": "[]", "type": 4} +{"stem": "如图,⊙O中$\\widehat{A B}$的中点为P,弦PC,PD分别交AB于E,F两点.若∠PFB=2∠PCD,求∠PCD的大小;若EC的垂直平分线与FD的垂直平分线交于点G,证明:OG⊥CD.$\\FigureID{3bfa404c-8af1-11eb-9377-b46bfc50aa29}$$\\FigureID{59c0489c-8af1-11eb-bfce-b46bfc50aa29}$$\\FigureID{0895a495-8b7c-11eb-a729-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "在直角坐标系xOy中,曲线$\\mathrm{C}_{1}$的参数方程为$\\left\\{\\begin{array}{l}x=\\sqrt{3} \\cos \\alpha \\ y=\\sin \\alpha\\end{array}\\right.$(α为参数),以坐标原点为极点,以x轴的正半轴为极轴,建立极坐标系,曲线$\\mathrm{C}_{2}$的极坐标方程为$\\operatorname{\\rho sin}\\left(\\theta+\\frac{\\pi}{4}\\right)=2 \\sqrt{2}$.写出$\\mathrm{C}_{1}$的普通方程和$\\mathrm{C}_{2}$的直角坐标方程;设点P在$\\mathrm{C}_{1}$上,点Q在$\\mathrm{C}_{2}$上,求|PQ|的最小值及此时P的直角坐标.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=|2 x-a|+a$.当a=2时,求不等式$f(x) \\leqslant 6$的解集;设函数$g(x)=|2 x-1|$,当x∈R时,$f(x)+g(x) \\geqslant 3$,求a的取值范围.", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\left\\{(x, y) | x^{2}+y^{2}=1\\right\\}, \\quad B=\\{(x, y) | y=x\\}$,则$A \\cap B$中元素的个数为(  )", "options": "['3', '2', '1', '0']", "type": 6} +{"stem": "设复数z满足$(1+i) \\quad z=2 i$,则$|z|=$(  )", "options": "['$\\\\frac{1}{2}$', '$\\\\frac{\\\\sqrt{2}}{2}$', '$\\\\sqrt{2}$', '2']", "type": 6} +{"stem": "某城市为了解游客人数的变化规律,提高旅游服务质量,收集并整理了2014年1月至2016年12月期间月接待游客量(单位:万人)的数据,绘制了下面的折线图.$\\FigureID{3bfa677a-8af1-11eb-8799-b46bfc50aa29}$$\\FigureID{59c0489d-8af1-11eb-8298-b46bfc50aa29}$$\\FigureID{0895cbdc-8b7c-11eb-8f99-b46bfc50aa29}$", "options": "['月接待游客量逐月增加', '年接待游客量逐年增加\\t', '各年的月接待游客量高峰期大致在7,8月', '各年1月至6月的月接待游客量相对于7月至12月,波动性更小,变化比较平稳']", "type": 6} +{"stem": "$(x+y)(2 x-y)^{5}$的展开式中的$x^{3} y^{3}$系数为(  )", "options": "['-80', '-40', '40', '80']", "type": 6} +{"stem": "已知双曲线C:$\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 \\quad(a>0, b>0)$ 的一条渐近线方程为$y=\\frac{\\sqrt{5}}{2} x$,且与椭圆$\\frac{x^{2}}{12}+\\frac{y^{2}}{3}=1$有公共焦点,则C的方程为(  )", "options": "['$\\\\frac{x^{2}}{8}-\\\\frac{y^{2}}{10}=1$', '$\\\\frac{x^{2}}{4}-\\\\frac{y^{2}}{5}=1$', '$\\\\frac{x^{2}}{5}-\\\\frac{y^{2}}{4}=1$', '$\\\\frac{x^{2}}{4}-\\\\frac{y^{2}}{3}=1$']", "type": 6} +{"stem": "设函数$f(x)=\\cos \\left(x+\\frac{\\pi}{3}\\right)$,则下列结论错误的是(  )", "options": "['$f(x)$的一个周期为﹣2π\\t', '$y=f(x)$的图象关于直线$x=\\\\frac{8 \\\\pi}{3}$对称', '$f(x+\\\\pi)$的一个零点为$x=\\\\frac{\\\\pi}{6}$', '$f(x)$在$\\\\left(\\\\frac{\\\\pi}{2}, \\\\pi\\\\right)$单调递减\\t']", "type": 6} +{"stem": "执行如图的程序框图,为使输出S的值小于91,则输入的正整数N的最小值为(  )$\\FigureID{3bfa677b-8af1-11eb-a977-b46bfc50aa29}$$\\FigureID{59c0489e-8af1-11eb-9ad0-b46bfc50aa29}$$\\FigureID{0895cbdd-8b7c-11eb-a906-b46bfc50aa29}$", "options": "['5', '4', '3', '2']", "type": 6} +{"stem": "已知圆柱的高为1,它的两个底面的圆周在直径为2的同一个球的球面上,则该圆柱的体积为(  )", "options": "['$\\\\pi$', '$\\\\frac{3 \\\\pi}{4}$', '$\\\\frac{\\\\pi}{2}$', '$\\\\frac{\\\\pi}{4}$']", "type": 6} +{"stem": "等差数列 $\\{ \\left. a_{n}\\right\\}$ 的首项为 $1, \\quad$ 公差不为 0. 若 $a_{2}, \\quad a_{3}, \\quad a_{6}$ 成等比数列,则\n$\\left\\{a_{n}\\right\\}$ 前 6 项的和为 ( )", "options": "['-24', '-3', '3', '8']", "type": 6} +{"stem": "巳知椭圆 C: $\\frac{x^{2}}{a^{2}}+\\frac{y^{2}}{b^{2}}=1 \\quad(a>b>0)$ 的左、右顶点分别为 $A_{1}, \\quad A_{2}, \\quad$ 且\n以线段 A $_{1} \\mathrm{A}_{2}$ 为直径的圆与直线 $\\mathrm{bx}-\\mathrm{ay}+2 \\mathrm{ab}=0$ 相切,则 $\\mathrm{C}$ 的离心率为 ( )", "options": "['$\\\\frac{\\\\sqrt{6}}{3}$', '$\\\\frac{\\\\sqrt{3}}{3}$', '$\\\\frac{\\\\sqrt{2}}{3}$', '$\\\\frac{1}{3}$']", "type": 6} +{"stem": "已知函数 $f(x)=x^{2}-2 x+a\\left(e^{x \\cdot 1}+e^{-x+1}\\right)$ 有唯一零点,则 $a=(\\quad)$", "options": "['$-\\\\frac{1}{2}$', '$\\\\frac{1}{3}$', '$\\\\frac{1}{2}$', '1']", "type": 6} +{"stem": "(5 分)在矩形 ABCD 中,AB=1,AD=2,动点 P 在以点 C 为圆心且与 BD 相切\n的圆上. 若$\\overrightarrow{\\mathrm{AP}}=\\lambda \\overrightarrow{\\mathrm{AB}}+\\mu \\overrightarrow{\\mathrm{AD}}$,则$\\lambda+\\mu$的最大值为( )", "options": "['3', '$2 \\\\sqrt{2}$', '$\\\\sqrt{5}$', '2']", "type": 6} +{"stem": "若 $\\mathrm{x},$ y 满足约束条件 $\\left\\{\\begin{array}{l}\\mathrm{x}-\\mathrm{y} \\geqslant 0 \\ \\mathrm{x}+\\mathrm{y}-2 \\leqslant 0, \\text { 则 } \\mathrm{z}=3 \\mathrm{x}-4 \\mathrm{y} \\text { 的最小值为 } \\ y \\geqslant 0\\end{array}\\right.$", "options": "[]", "type": 2} +{"stem": "设等比数列$\\left\\{a_{n}\\right\\}$满足$a_{1}+a_{2}=-1, \\quad a_{1}-a_{3}=-3, \\quad$ 则 $a_{4}=$", "options": "[]", "type": 2} +{"stem": "设函数 $f(x)=\\left\\{\\begin{array}{ll}x+1, & x \\leq 0 \\ 2^{x}, & x>0\\end{array}\\right.$则满足$f(x)+f\\left(x-\\frac{1}{2}\\right)>1$ 的 x 的取值范围是____", "options": "[]", "type": 2} +{"stem": "16.(5分)a,b为空间中两条互相垂直的直线,等腰直角三角形ABC的直角边AC所在直线与a,b都垂直,斜边AB以直线AC为旋转轴旋转,有下列结论:\n①当直线AB与a成60°角时,AB与b成30°角;\n②当直线AB与a成60°角时,AB与b成60°角;\n③直线AB与a所成角的最小值为45°;\n④直线AB与a所成角的最小值为60°;\n其中正确的是____.(填写所有正确结论的编号)\n", "options": "[]", "type": 2} +{"stem": "$\\triangle \\mathrm{ABC}$ 的内角 A, B,C 的对边分别为 a, b,c,已知 $\\sin A + \\sqrt{3} \\cos A=0, \\quad a=2 \\sqrt{7}$\n\\[\nb=2\n\\]求c设 D 为 BC边上一点,且 $A D \\perp A C$,求$\\triangle \\mathrm{ABD}$的面积。", "options": "[]", "type": 4} +{"stem": "某超市计划按月订购一种酸奶,每天进货量相同,进货成本每瓶4元,售价每瓶6元,未售出的酸奶降价处理,以每瓶2元的价格当天全部处理完.根据往年销售经验,每天需求量与当天最高气温(单位:℃)有关.如果最高气温不低于25,需求量为500瓶;如果最高气温位于区间[20,25),需求量为300瓶;如果最高气温低于20,需求量为200瓶.为了确定六月份的订购计划,统计了前三年六月份各天的最高气温数据,得下面的频数分布表:\n以最高气温位于各区间的频率代替最高气温位于该区间的概率.\n\n(1)求六月份这种酸奶一天的需求量X(单位:瓶)的分布列;\n(2)设六月份一天销售这种酸奶的利润为Y(单位:元),当六月份这种酸奶一天的进货量n(单位:瓶)为多少时,Y的数学期望达到最大值?", "options": "[]", "type": 4} +{"stem": "如图,四面体 ABCD 中,$\\triangle \\mathrm{ABC}$是正三角形,$\\triangle \\mathrm{ACD}$ 是直角三角形, $\\angle A B D=\\angle C B D$\n\\[\nA B=B D\n\\]\n\n(1)证明: 平面 $A C D \\perp$ 平面$A B C$(2)过 AC 的平面交 BD 于点 E,若平亩 AEC 把四面体 ABCD 分成体积相等的两\n部分,求二面角 D - AE - C 的余弦值。$\\FigureID{3bfa8e8a-8af1-11eb-a62a-b46bfc50aa29}$$\\FigureID{59c077de-8af1-11eb-ba25-b46bfc50aa29}$$\\FigureID{0895cbde-8b7c-11eb-b0b4-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知抛物线 C: $y^{2}=2 x,$ 过点(2,0)的直线$l$交C于 A,B 两点,圆 M 是以线段AB 为直径的圆。(1)证明:坐标原点 O 在圆 M 上;\n(2)设圆 M 过点P(4, - 2),求直线$l$与圆 M 的方程。", "options": "[]", "type": 4} +{"stem": "已知函数 $f(x)=x-1-\\operatorname{aln} x$若 $f(x) \\geqslant 0,$ 求 a 的值;设 m 为整数,且对于任意正整数\nn $,\\left(1+\\frac{1}{2}\\right)\\left(1+\\frac{1}{2^{2}}\\right) \\ldots\\left(1+\\frac{1}{2^{n}}\\right)0 . \\mathrm{b}>0)$ 的左,右焦点,O 是坐标原点.\n过$\\mathrm{F}_{2}$ 作 $\\mathrm{C}$ 的一条渐近线的垂线,垂足为 $\\mathrm{P},$ 若|PF $_{1}|=\\sqrt{6}| \\mathrm{OP} |$ ,则 $\\mathrm{C}$ 的离心率为\n( )", "options": "['$\\\\sqrt{5}$', '2', '$\\\\sqrt{3}$', '$\\\\sqrt{2}$']", "type": 6} +{"stem": "设 $a=\\log _{0.2} 0.3, \\quad b=\\log _{2} 0.3, \\quad$ 则$\\SIFChoice$", "options": "['$a+b0)$证明: $k<-\\frac{1}{2}$设F为C的右焦点,P为C上一点,且$\\overrightarrow{\\mathrm{FP}}+\\overrightarrow{\\mathrm{FA}}+\\overrightarrow{\\mathrm{FB}}=\\overrightarrow{0} . \\quad$ 证明 $: \\quad|\\overrightarrow{\\mathrm{FA}}|,|\\overrightarrow{\\mathrm{FP}}|,|\\overrightarrow{\\mathrm{FB}}|$成等差数列,并求该数列的公差.", "options": "[]", "type": 4} +{"stem": "已知函数 $ f(x)=\\left(2+x+a x^{2}\\right) \\ln (1+x)-2 x$若 $a=0,$ 证明: 当$-10$ 时, $f(x)>0$若 x=0 是 f(x)的极大值点,求 a.", "options": "[]", "type": 4} +{"stem": "在平面直角坐标系 xOy 中, $\\odot O$的参数方程为 $\\left\\{\\begin{array}{l}\\mathrm{x}=\\cos \\theta \\ y=\\sin \\theta\\end{array},(\\theta \\text { 为参数 }), \\text { 过点 }(0,\\right.$ $- \\sqrt2$)且倾斜角为$ \\alpha$ 的直线$l$与$\\odot O$ 交于 A,B 两点。求α的取值范围;求AB中点P的轨迹的参数方程.", "options": "[]", "type": 4} +{"stem": "设函数 f $(x)=|2 x+1|+|x-1|$\n\n画出 y=f(x)的图象;当 $\\mathrm{x} \\in[0,+\\infty)$ 时, $f(\\mathrm{x}) \\leqslant \\mathrm{ax}+\\mathrm{b}, \\quad$ 求 $\\mathrm{a}+\\mathrm{b}$ 的最小值.$\\FigureID{3bfaed54-8af1-11eb-8cf9-b46bfc50aa29}$$\\FigureID{59c077e1-8af1-11eb-a4ea-b46bfc50aa29}$$\\FigureID{0895cbe1-8b7c-11eb-b7ae-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "已知集合$A=\\{-1,0,1,2\\}$,$B=\\left\\{x | x^{2} \\leq 1\\right\\}$,则$A \\cap B=$", "options": "['$\\\\{-1,0,1\\\\}$', '$\\\\{0,1\\\\}$', '$\\\\{-1,1\\\\}$', '$\\\\{0,1,2\\\\}$']", "type": 6} +{"stem": "若$z(1+i)=2 i$,则z=", "options": "['$-1-i$', '$-1+i$', '$1-i$', '$1+i$']", "type": 6} +{"stem": "《西游记》《三国演义》《水浒传》和《红楼梦》是中国古典文学瑰宝,并称为中国古典小说四大名著.某中学为了解本校学生阅读四大名著的情况,随机调查了100学生,其中阅读过《西游记》或《红楼梦》的学生共有90位,阅读过《红楼梦》的学生共有80位,阅读过《西游记》且阅读过《红楼梦》的学生共有60位,则该校阅读过《西游记》的学生人数与该校学生总数比值的估计值为( )", "options": "['0.5', '0.6', '0.7', '0.8']", "type": 6} +{"stem": "$\\left(1+2 x^{2}\\right)(1+x)^{4}$的展开式中$x^{3}$的系数为", "options": "{'1': '6', '2': '4'}", "type": 6} +{"stem": "已知各项均为正数的等比数列$\\left\\{a_{n}\\right\\}$的前4项和为15,且$a_{s}=3 a_{3}+4 a_{1}$,则$a_{3}=$( )", "options": "['16', '8', '4', '2']", "type": 6} +{"stem": "已知曲线$y=a e^{x}+x \\ln x$在点$(1, a e)$处的切线方程为$y=2 x+b$,则$\\SIFChoice$", "options": "['$a=e, b=-1$', '$a=e, b=1$', '$a=e^{-1}, b=1$', '$a=e^{-1}, b=-1$']", "type": 6} +{"stem": "函数$y=\\frac{2 x^{3}}{2^{x}+2^{-x}}$在[-6,6]的图像大致为", "options": "['$\\\\LUNAPictureID{3bffc4ba-8af1-11eb-aa38-b46bfc50aa29}$$\\\\LUNAPictureID{59c5627a-8af1-11eb-a7b3-b46bfc50aa29}$$\\\\LUNAPictureID{089a10e4-8b7c-11eb-bbcc-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bffc4bb-8af1-11eb-a7ac-b46bfc50aa29}$$\\\\LUNAPictureID{59c5627b-8af1-11eb-9780-b46bfc50aa29}$$\\\\LUNAPictureID{089a10e5-8b7c-11eb-9ebc-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bffebba-8af1-11eb-b19d-b46bfc50aa29}$$\\\\LUNAPictureID{59c5627c-8af1-11eb-b38e-b46bfc50aa29}$$\\\\LUNAPictureID{089a10e6-8b7c-11eb-b809-b46bfc50aa29}$', '$\\\\LUNAPictureID{3bffebbb-8af1-11eb-9031-b46bfc50aa29}$$\\\\LUNAPictureID{59c5627d-8af1-11eb-9e6e-b46bfc50aa29}$$\\\\LUNAPictureID{089a10e7-8b7c-11eb-b54d-b46bfc50aa29}$']", "type": 6} +{"stem": "如图,点$N$为正方形$ABCD$的中心,$\\Delta E C D$为正三角形,平面$E C D \\perp$平面$ABCD,M$是线段$ED$的中点,则$\\SIFChoice$$\\FigureID{3bfaed55-8af1-11eb-9d26-b46bfc50aa29}$$\\FigureID{59c0a16c-8af1-11eb-bf73-b46bfc50aa29}$$\\FigureID{0895cbe2-8b7c-11eb-8a71-b46bfc50aa29}$", "options": "['BM=EN,且直线BM、EN 是相交直线', 'BM≠EN,且直线BM,EN 是相交直线', 'BM=EN,且直线BM、EN 是异面直线', 'BM≠EN,且直线BM,EN 是异面直线']", "type": 6} +{"stem": "执行如图所示的程序框图,如果输入的$\\varepsilon$为0.01,则输出的值等于$s$$\\FigureID{3bfb146c-8af1-11eb-8739-b46bfc50aa29}$$\\FigureID{59c0a16d-8af1-11eb-8db7-b46bfc50aa29}$$\\FigureID{0895cbe3-8b7c-11eb-bc90-b46bfc50aa29}$", "options": "['$2-\\\\frac{1}{2^{4}}$', '$2-\\\\frac{1}{2^{5}}$', '$2-\\\\frac{1}{2^{6}}$', '$2-\\\\frac{1}{2^{7}}$']", "type": 6} +{"stem": "双曲线$c: \\frac{x^{2}}{4}-\\frac{y^{2}}{2}=1$的右焦点为F,点P在C的一条渐近线上,O为坐标原点,若$|P O|=|P F|$,则$\\triangle P F O$的面积为", "options": "['$\\\\frac{3 \\\\sqrt{2}}{4}$', '$\\\\frac{3 \\\\sqrt{2}}{2}$', '$\\\\frac{x_{1}}{x_{2}}$', '$3 \\\\sqrt{2}$']", "type": 6} +{"stem": "设$f(x)$是定义域为R的偶函数,且在$(0,+\\infty)$单调递减,则", "options": "['$f\\\\left(\\\\log _{3} \\\\frac{1}{4}\\\\right)>f\\\\left(2^{-\\\\frac{3}{2}}\\\\right)>f\\\\left(2^{-\\\\frac{2}{3}}\\\\right)$', '$f\\\\left(\\\\log _{3} \\\\frac{1}{4}\\\\right)>f\\\\left(2^{-\\\\frac{2}{3}}\\\\right)>f\\\\left(2^{-\\\\frac{3}{2}}\\\\right)$', '$f\\\\left(2^{-\\\\frac{3}{2}}\\\\right)>f\\\\left(2^{-\\\\frac{2}{3}}\\\\right)>f\\\\left(\\\\log _{3} \\\\frac{1}{4}\\\\right)$', '$f\\\\left(2^{-\\\\frac{2}{3}}\\\\right)>f\\\\left(2^{-\\\\frac{3}{2}}\\\\right)>f\\\\left(\\\\log _{3} \\\\frac{1}{4}\\\\right)$']", "type": 6} +{"stem": "设函数$f(x)=\\sin \\left(\\omega x+\\frac{\\pi}{5}\\right)(\\omega>0)$,已知$f(x)$在$[0,2 \\pi]$有且仅有5个零点,下述四个结论:\n①$f(x)$在$(0,2 \\pi)$有且仅有3个极大值点\n②$f(x)$在$(0,2 \\pi)$有且仅有2个极小值点\n③$f(x)$在$\\left(0, \\frac{\\pi}{10}\\right)$单调递增\n④的取值范围是$\\left[\\frac{12}{5}, \\frac{29}{10}\\right)$\n其中所有正确结论的编号是", "options": "['①④', '②③', '①②③', '①③④']", "type": 6} +{"stem": "已知a,b为单位向量,且a·b=0,若$c=2 a-\\sqrt{5} b$,则$\\cos <\\vec{a}, \\vec{c}>=$___________.", "options": "[]", "type": 2} +{"stem": "记$S_{n}$为等差数列$\\left\\{a_{n}\\right\\}$的前n项和,$a_{1} \\neq 0, \\quad a_{2}=3 a_{1}$,则$\\frac{S_{10}}{S_{5}}=$___________.", "options": "[]", "type": 2} +{"stem": "设$F_{1}, F_{2}$为椭圆$C: \\frac{x^{2}}{36}+\\frac{y^{2}}{20}=1$的两个焦点,$M$为$C$上一点且在第一象限.若$\\Delta M F_{1} F_{2}$为等腰三角形,则$M$的坐标为$\\SIFBlank$.", "options": "[]", "type": 2} +{"stem": "学生到工厂劳动实践,利用$3 D$打印技术制作模型.如图,该模型为长方体$A B C D-A_{1} B C_{1} D_{1}$挖去四棱锥$O-E F G H$后所得的几何体,其中$O$为长方体的中心,$E, F, G, H$分别为所在棱的中点,$A B=B C=6 \\mathrm{cm}, A A_{1}=4 \\mathrm{cm}$,$3 D$打印所用原料密度为$0.9 g / c m^{3}$,不考虑打印损耗,制作该模型所需原料的质量为$\\SIFBlank$$g$.$\\FigureID{3bfb146d-8af1-11eb-8ce7-b46bfc50aa29}$$\\FigureID{59c0c89a-8af1-11eb-8d7a-b46bfc50aa29}$$\\FigureID{0895cbe4-8b7c-11eb-8c89-b46bfc50aa29}$", "options": "[]", "type": 2} +{"stem": "(必考题)为了解甲、乙两种离子在小鼠体内的残留程度,进行如下试验:将200只小鼠随机分成$A, B$两组,每组100只,其中$A$组小鼠给服甲离子溶液,$B$组小鼠给服乙离子溶液.每只小鼠给服的溶液体积相同、摩尔浓度相同.经过一段时间后用某种科学方法测算出残留在小鼠体内离子的百分比.根据试验数据分别得到如下直方图:\n记$C$为事件:“乙离子残留在体内的百分比不低于$5.5$”,根据直方图得到$P(C)$的估计值为$0.70$.求乙离子残留百分比直方图中$a,b$的值;分别估计甲、乙离子残留百分比的平均值(同一组中的数据用该组区间的中点值为代表).$\\FigureID{3bfb3b80-8af1-11eb-bb30-b46bfc50aa29}$$\\FigureID{59c0c89b-8af1-11eb-b816-b46bfc50aa29}$$\\FigureID{0895cbe5-8b7c-11eb-88dc-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "(必考题)$\\Delta A B C$的内角$A, B, C$的对边分别为$a, b, c$,已知$a \\sin \\frac{A+C}{2}=b \\sin A$.求$B$;若$\\Delta A B C$为锐角三角形,且$c=1$,求$\\Delta A B C$面积的取值范围.", "options": "[]", "type": 4} +{"stem": "(必考题)图1是由矩形$A D E B, Rt \\Delta A B C$和菱形$BFGC$组成的一个平面图形,其中$A B=1, B E=B F=2$,$\\angle F B C=60^{\\circ}$,将其沿$A B, B C$折起使得$BE$与$BF$重合,连结$DG$,如图2.证明:图2中的四点$A,C,G,D$共面,且平面$A B C \\perp$平面$BCGE$;求图2中的二面角B−CG−A的大小.$\\FigureID{3bfb46f0-8af1-11eb-bad2-b46bfc50aa29}$$\\FigureID{59c0efba-8af1-11eb-8332-b46bfc50aa29}$$\\FigureID{0895cbe6-8b7c-11eb-aef4-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "(必考题)已知函数$f(x)=2 x^{3}-a x^{2}+b$.讨论$f(x)$的单调性;是否存在$a,b$,使得$f(x)$在区间[0,1]最小值为-1且最大值为1?若存在,求出$a,b$的所有值;若不存在,说明理由.", "options": "[]", "type": 4} +{"stem": "(必考题)已知曲线$C: y=\\frac{x^{2}}{2}, D$为直线$y=-\\frac{1}{2}$上的动点,过$D$作$C$的两条切线,切点分别为$A,B$.证明:直线$AB$过定点若以$E\\left(0, \\frac{5}{2}\\right)$为圆心的圆与直线$AB$相切,且切点为线段$AB$的中点,求四边形ADBE的面积.", "options": "[]", "type": 4} +{"stem": "(选修4-4:坐标系与参数方程)如图,在极坐标系$O x$中,$A(2,0)$,$B\\left(\\sqrt{2}, \\frac{\\pi}{4}\\right)$,$C\\left(\\sqrt{2}, \\frac{3 \\pi}{4}\\right)$,$D(2, \\pi)$,弧$\\widehat{A B}$,$\\widehat{B C}$,$\\widehat{C D}$所在圆的圆心分别是(1,0),$\\left(1, \\frac{\\pi}{2}\\right)$,$(1, \\pi)$,曲线$M_{1}$是弧$\\widehat{A B}$,曲线$M_{2}$是弧$\\widehat{B C}$,曲线$M_{3}$是弧$\\widehat{C D}$.分别写出$M_{1}$,$M_{2}$,$M_{3}$的极坐标方程;曲线$M$由$M_{1}$,$M_{2}$,$M_{3}$构成,若点$P$在$M$上,且$|O P|=\\sqrt{3}$,求$P$极坐标.$\\FigureID{3bfb46f1-8af1-11eb-8de7-b46bfc50aa29}$$\\FigureID{59c0efbb-8af1-11eb-8741-b46bfc50aa29}$$\\FigureID{0895cbe7-8b7c-11eb-b1e7-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "(选修4-5:不等式选讲)设$x, y, z \\in R$,且$x+y+z=1$.求$(x-1)^{2}+(y+1)^{2}+(z+1)^{2}$的最小值;若$(x-2)^{2}+(y-1)^{2}+(z-a)^{2} \\geq \\frac{1}{3}$成立,证明:$a \\leq-3$或$a \\geq-1$.", "options": "[]", "type": 4} +{"stem": "已知集合A={﹣2,﹣1,0,1,2},B={x|(x﹣1)(x+2)<0},则$A \\cap B=(\\quad)$", "options": "['{﹣1,0}', '{0,1}', '{﹣1,0,1}', '{0,1,2}\\t']", "type": 6} +{"stem": "若$a$为实数,且$(2+a i)(a-2 i)=-4 i$,则$a$=(  )", "options": "['﹣1', '0', '1', '2']", "type": 6} +{"stem": "根据如图给出的2004年至2013年我国二氧化硫年排放量(单位:万吨)柱形图,以下结论中不正确的是(  )$\\FigureID{3bfb46f2-8af1-11eb-9df1-b46bfc50aa29}$$\\FigureID{59c0efbc-8af1-11eb-b081-b46bfc50aa29}$$\\FigureID{0895cbe8-8b7c-11eb-954d-b46bfc50aa29}$", "options": "['逐年比较,2008年减少二氧化硫排放量的效果最显著', '2007年我国治理二氧化硫排放显现成效', '2006年以来我国二氧化硫年排放量呈减少趋势', '2006年以来我国二氧化硫年排放量与年份正相关']", "type": 6} +{"stem": "已知等比数列$\\left\\{a_{n}\\right\\}$满足$a_{1}=3, \\quad a_{1}+a_{3}+a_{5}=21$,则$a_{3}+a_{5}+a_{7}=$(  )", "options": "['21', '42', '63', '84\\t']", "type": 6} +{"stem": "设函数$f(x)=\\left\\{\\begin{array}{ll}1+\\log _{2}(2-x), & x<1 \\ 2^{x-1}, & x \\geqslant 1\\end{array}\\right.$,则$f(-2)+f\\left(\\log _{2} 12\\right)=$(  )", "options": "['3', '6', '9', '12']", "type": 6} +{"stem": "一个正方体被一个平面截去一部分后,剩余部分的三视图如图,则截去部分体积与剩余部分体积的比值为(  )$\\FigureID{3bfb46f3-8af1-11eb-99b7-b46bfc50aa29}$$\\FigureID{59c116c6-8af1-11eb-882c-b46bfc50aa29}$$\\FigureID{0895cbe9-8b7c-11eb-978a-b46bfc50aa29}$", "options": "['$\\\\frac{1}{8}$\\n\\n', '$\\\\frac{1}{7}$\\n\\n', '$\\\\frac{1}{6}$\\n\\n', '$\\\\frac{1}{5}$\\n\\n']", "type": 6} +{"stem": "7.(5分)过三点A(1,3),B(4,2),C(1,﹣7)的圆交y轴于M,N两点,则$|MN|$=(  )", "options": "['$2 \\\\sqrt{6}$', '8', '$4 \\\\sqrt{6}$', '10']", "type": 6} +{"stem": "程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”,执行该程序框图,若输入的a,b分别为14,18,则输出的a=(  )$\\FigureID{3bfb6e00-8af1-11eb-94df-b46bfc50aa29}$$\\FigureID{59c116c7-8af1-11eb-ade8-b46bfc50aa29}$$\\FigureID{0895cbea-8b7c-11eb-9935-b46bfc50aa29}$", "options": "['0', '2', '4', '14\\t']", "type": 6} +{"stem": "已知A,B是球O的球面上两点,$\\angle AOB=90^{\\circ}$,C为该球面上的动点,若三棱锥O﹣ABC体积的最大值为36,则球O的表面积为(  )", "options": "['$36\\\\pi $', '$64\\\\pi $', '$144\\\\pi $', '$256\\\\pi $']", "type": 6} +{"stem": "如图,长方形ABCD的边AB=2,BC=1,O是AB的中点,点P沿着边BC,CD与DA运动,记$\\angle BOP=x$,将动点P到A,B两点距离之和表示为x的函数$f(x)$,则$y=f(x)$的图象大致为(  )$\\FigureID{3bfb6e01-8af1-11eb-a86c-b46bfc50aa29}$$\\FigureID{59c116c8-8af1-11eb-bc3b-b46bfc50aa29}$$\\FigureID{0895cbeb-8b7c-11eb-827a-b46bfc50aa29}$", "options": "['$\\\\LUNAPictureID{3c0000cc-8af1-11eb-b0a2-b46bfc50aa29}$$\\\\LUNAPictureID{59c5898c-8af1-11eb-a3f5-b46bfc50aa29}$$\\\\LUNAPictureID{089a10e8-8b7c-11eb-9342-b46bfc50aa29}$', '$\\\\LUNAPictureID{3c002818-8af1-11eb-9747-b46bfc50aa29}$$\\\\LUNAPictureID{59c5898d-8af1-11eb-9a04-b46bfc50aa29}$$\\\\LUNAPictureID{089a10e9-8b7c-11eb-9d70-b46bfc50aa29}$', '$\\\\LUNAPictureID{3c002819-8af1-11eb-8230-b46bfc50aa29}$$\\\\LUNAPictureID{59c5898e-8af1-11eb-8f01-b46bfc50aa29}$$\\\\LUNAPictureID{089a10ea-8b7c-11eb-a301-b46bfc50aa29}$', '$\\\\LUNAPictureID{3c00281a-8af1-11eb-af6a-b46bfc50aa29}$$\\\\LUNAPictureID{59c5898f-8af1-11eb-b112-b46bfc50aa29}$$\\\\LUNAPictureID{089a10eb-8b7c-11eb-a260-b46bfc50aa29}$']", "type": 6} +{"stem": "已知A,B为双曲线E的左,右顶点,点M在E上,$\\triangle \\mathrm{ABM}$为等腰三角形,顶角为120°,则E的离心率为(  )", "options": "['$\\\\sqrt{5}$', '2', '$\\\\sqrt{3}$', '$\\\\sqrt{2}$']", "type": 6} +{"stem": "设函数$f^{\\prime}(x)$是奇函数$f(x) \\quad(x \\in R)$的导函数,$f(-1)=0$,当$x>0$时,$x f^{\\prime}(x)-f(x)<0$,则使得$f(x)>0$成立的x的取值范围是(  )", "options": "['$(-\\\\infty,-1) \\\\cup(0,1)$', '$(-1,0) \\\\cup (1,+\\\\infty)$', '$(-\\\\infty,-1) \\\\cup(-1,0)$', '$(0,1) \\\\cup (1,+\\\\infty)$']", "type": 6} +{"stem": "设向量$\\vec{a}$,$\\vec{b}$不平行,向量$\\lambda \\vec{a}+\\vec{b}$与$ \\vec{a}+2 \\vec{b}$平行,则实数$\\lambda $=_______.", "options": "[]", "type": 2} +{"stem": "若x,y满足约束条件$\\left\\{\\begin{array}{l}x-y+1 \\geqslant 0 \\ x-2 y \\leq 0 \\ x+2 y-2 \\leq 0\\end{array}\\right.$,则z=x+y的最大值为_______.", "options": "[]", "type": 2} +{"stem": "$(a+x)(1+x)^{4}$的展开式中x的奇数次幂项的系数之和为32,则a=_______", "options": "[]", "type": 2} +{"stem": "设数列$\\left\\{a_{n}\\right\\}$的前n项和为$S_{n}$,且$a_{1}=-1$,$ a_{n+1}=S_{n+1} S_{n}$,则$S_{n}=$_______", "options": "[]", "type": 2} +{"stem": "$\\triangle A B C$中,$D$是$BC$上的点,$AD$平分$\\angle \\mathrm{BAC}$,$ \\triangle \\mathrm{ABD}$面积是$\\triangle \\mathrm{ADC}$面积的2倍.求$\\frac{\\sin \\angle B}{\\sin \\angle C}$若$\\mathrm{AD}=1$,$\\mathrm{DC}=\\frac{\\sqrt{2}}{2}$,求$BD$和$AC$的长", "options": "[]", "type": 4} +{"stem": "某公司为了解用户对其产品的满意度,从A,B两地区分别随机调查了20个用户,得到用户对产品的满意度评分如下:\nA地区:62 73 81 92 95 85 74 64 53 76\n 78 86 95 66 97 78 88 82 76 89\nB地区:73 83 62 51 91 46 53 73 64 82\n 93 48 65 81 74 56 54 76 65 79根据两组数据完成两地区用户满意度评分的茎叶图,并通过茎叶图比较两地区满意度评分的平均值及分散程度(不要求计算出具体值,给出结论即可)根据用户满意度评分,将用户的满意度从低到高分为三个等级:\n\n\n记事件C:“A地区用户的满意度等级高于B地区用户的满意度等级”,假设两地区用户的评价结果相互独立,根据所给数据,以事件发生的频率作为相应事件发生的概率,求C的概率.", "options": "[]", "type": 4} +{"stem": "如图,长方体$\\mathrm{ABCD}-\\mathrm{A}_{1} \\mathrm{B}_{1} \\mathrm{C}_{1} \\mathrm{D}_{1}$中,$AB=16$,$BC=10$,$\\mathrm{AA}_{1}=8$,点$E,F$分别在$A_{1} B_{1}$,$D_{1} C_{1}$上,$A_{1} E=D_{1} F=4$,过点$E,F$的平面$\\alpha$与此长方体的面相交,交线围成一个正方形.在图中画出这个正方形(不必说明画法和理由);求直线$AF$与平面$\\alpha$所成角的正弦值.\n", "options": "[]", "type": 4} +{"stem": "已知椭圆C:$9 x^{2}+y^{2}=m^{2}(m>0)$,直线l不过原点O且不平行于坐标轴,l与C有两个交点A,B,线段AB的中点为M.证明:直线OM的斜率与l的斜率的乘积为定值;若l过点$\\left(\\frac{m}{3}, m\\right)$延长线段OM与C交于点P,四边形OAPB能否为平行四边形?若能,求此时l的斜率;若不能,说明理由.\n", "options": "[]", "type": 4} +{"stem": "设函数$f(x)=e^{m x}+x^{2}-m x$证明:$f(x)$ 在 $(-\\infty, 0)$ 单调递减,在 $(0,+\\infty)$单调递增若对于任意$x_{1}, \\quad x_{2} \\in[-1, \\quad 1]$,都有$|f\\left(x_{1}\\right)-f\\left(x_{2}\\right) | \\leq e-1$,求m的取值范围.", "options": "[]", "type": 4} +{"stem": "如图,$O$为等腰三角形$ABC$内一点,$\\odot O$与$\\triangle \\mathrm{ABC}$的底边$BC$交于$M$,$N$两点,与底边上的高$AD$交于点$G$,且与$AB$,$AC$分别相切于$E$,$F$两点.证明:$EF \\parallel BC$;若$AG$等于$\\odot O$的半径,且$AE=MN=2 \\sqrt{3}$,求四边形$EBCF$的面积.", "options": "[]", "type": 4} +{"stem": "在直角坐标系$xOy$中,曲线$C_{1}:\\left\\{\\begin{array}{l}x=t \\cos \\alpha \\ y=t \\sin \\alpha\\end{array}\\right.$($t$为参数,$t \\neq 0$),其中$0 \\leq \\alpha \\leq \\pi$,在以$O$为极点,$x$轴正半轴为极轴的极坐标系中,曲线$C_{2}: \\rho=2 \\sin \\theta$,$C_{3}: \\rho=2 \\sqrt{3} \\cos \\theta$.求$C_{2}$与$C_{3}$交点的直角坐标;若$C_{1}$与$C_{2}$相交于点$A$,$C_{1}$与$C_{3}$相交于点$B$,求$|AB|$的最大值.", "options": "[]", "type": 4} +{"stem": "设$a$,$b$,$c$,$d$均为正数,且$a+b=c+d$,证明:若$ab>cd$,则$\\sqrt{a}+\\sqrt{b}>\\sqrt{c}+\\sqrt{d}$$\\sqrt{a}+\\sqrt{b}>\\sqrt{c}+\\sqrt{d}$是$|a-b|<|c-d|$的充要条件.", "options": "[]", "type": 4} +{"stem": "已知$z=(m+3)+(m-1)i$在复平面内对应的点在第四象限,则实数m的取值范围是(  )", "options": "['$(﹣3,1)$', '$(﹣1,3)$', '$(1,+\\\\infty)$', '$(-\\\\infty,-3)$']", "type": 6} +{"stem": "已知集合$A$={1,2,3},$B=\\{x| (x+1)(x-2)<0, x \\in Z\\}$,则 $A \\cup B$等于(  )", "options": "['{1}', '{1,2}', '{0,1,2,3}\\t', '{﹣1,0,1,2,3}\\t']", "type": 6} +{"stem": "已知向量$\\vec{\\mathrm{a}}=(1, m)$,$\\vec{b}=(3,-2)$,且$(\\vec{\\mathrm{a}}+\\vec{b}) \\perp \\vec{b}$,则$m$ =(  )", "options": "['﹣8', '﹣6', '6', '8']", "type": 6} +{"stem": "圆$x^{2}+y^{2}-2 x-8 y+13=0$的圆心到直线$\\mathrm{a}x+y-1=0$的距离为1,则$\\mathrm{a}$ = (  )", "options": "['$-\\\\frac{4}{3}$\\n\\n', '$-\\\\frac{3}{4}$\\n\\n', '$\\\\sqrt{3}$\\n\\n', '$2$']", "type": 6} +{"stem": "如图,小明从街道的E处出发,先到F处与小红会合,再一起到位于G处的老年公寓参加志愿者活动,则小明到老年公寓可以选择的最短路径条数为(  )$\\FigureID{3bfb83ac-8af1-11eb-beb8-b46bfc50aa29}$$\\FigureID{59c116c9-8af1-11eb-acbd-b46bfc50aa29}$$\\FigureID{0895cbec-8b7c-11eb-8c46-b46bfc50aa29}$", "options": "['24', '18', '12', '9']", "type": 6} +{"stem": "如图是由圆柱与圆锥组合而成的几何体的三视图,则该几何体的表面积为(  )$\\FigureID{3bfb83ad-8af1-11eb-9a90-b46bfc50aa29}$$\\FigureID{59c13dee-8af1-11eb-a37c-b46bfc50aa29}$$\\FigureID{0895cbed-8b7c-11eb-9030-b46bfc50aa29}$", "options": "['$20 \\\\pi$', '$24 \\\\pi$', '$28 \\\\pi$', '$32 \\\\pi$']", "type": 6} +{"stem": "若将函数$y=2 \\sin 2 x$的图象向左平移$\\frac{\\pi}{12}$个单位长度,则平移后的图象的对称轴为(  )", "options": "['$x=\\\\frac{k \\\\pi}{2}-\\\\frac{\\\\pi}{6}(k \\\\in \\\\mathbf{Z})$', '$x=\\\\frac{k \\\\pi}{2}+\\\\frac{\\\\pi}{6}(k \\\\in \\\\mathbf{Z})$', '$x=\\\\frac{k \\\\pi}{2}-\\\\frac{\\\\pi}{12}(k \\\\in \\\\mathbf{Z})$', '$x=\\\\frac{k \\\\pi}{2}+\\\\frac{\\\\pi}{12}(k \\\\in \\\\mathbf{Z})$']", "type": 6} +{"stem": "中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=(  )$\\FigureID{3bfb83ae-8af1-11eb-94d9-b46bfc50aa29}$$\\FigureID{59c13def-8af1-11eb-885c-b46bfc50aa29}$$\\FigureID{08966a7e-8b7c-11eb-9ce0-b46bfc50aa29}$", "options": "['7', '12', '17', '34']", "type": 6} +{"stem": "若$\\cos \\left(\\frac{\\pi}{4}-\\alpha\\right)=\\frac{3}{5}$,则$\\sin 2 \\alpha$ =(  )", "options": "['$\\\\frac{7}{25}$\\n\\n', '$\\\\frac{1}{5}$\\n\\n', '$-\\\\frac{1}{5}$\\n\\n', '$-\\\\frac{7}{25}$\\n\\n']", "type": 6} +{"stem": "从区间[0,1]随机抽取2n个数$x_{1}, x_{2}, \\ldots, x_{n}, y_{1}, y_{2}, \\ldots, y_{n}$构成n个数对$\\left(x_{1}, y_{1}\\right), \\quad\\left(x_{2}, y_{2}\\right), \\ldots,\\left(x_{n}, y_{n}\\right)$,其中两数的平方和小于1的数对共有m个,则用随机模拟的方法得到的圆周率$\\pi$的近似值为(  )", "options": "['$\\\\frac{4 n}{m}$\\n\\n', '$\\\\frac{2 n}{m}$\\n\\n', '$\\\\frac{4 m}{n}$\\n\\n', '$\\\\frac{2m}{n}$\\n\\n']", "type": 6} +{"stem": "已知$\\mathrm{F}_{1}, \\mathrm{F}_{2}$是双曲线$E:\\frac{x^{2}}{\\mathrm{a}^{2}}-\\frac{y^{2}}{b^{2}}=1$的左,右焦点,点$M$在$E$上,$M F_{1}$与$x$轴垂直,$\\sin \\angle M F_{2} F_{1}=\\frac{1}{3}$,则$E$的离心率为(  )", "options": "['$\\\\sqrt{2}$\\n\\n', '$\\\\frac{3}{2}$\\n\\n', '$\\\\sqrt{3}$\\n\\n', '$2$\\n\\n']", "type": 6} +{"stem": "已知函数$f(x)(x \\in \\mathbf{R})$满足$f(-x)=2-f(x)$,若函数$y=\\frac{x+1}{x}$ 与 $y=f(x)$图象的交点为$\\left(x_{1}, y_{1}\\right), \\quad\\left(x_{2}, y_{2}\\right), \\dots,\\left(x_{m}, y_{m}\\right)$,则$\\sum_{i=1}^{m}\\left(x_{i}+y_{i}\\right)$=(  )", "options": "['0', 'm', '2m', '4m']", "type": 6} +{"stem": "$\\triangle ABC$的内角A,B,C的对边分别为a,b,c,若$\\cos A=\\frac{4}{5}$,$\\cos C=\\frac{5}{13}$,a=1,则b=_______.", "options": "[]", "type": 2} +{"stem": "$\\alpha, \\beta$是两个平面,m,n是两条直线,有下列四个命题:\n①如果$m \\perp n$,$m \\perp \\alpha$,$ n \\parallel \\beta$,那么$\\alpha \\perp \\beta$.\n②如果 $m \\perp \\alpha$, $n \\parallel \\alpha$ ,那么 $m \\perp n$.\n③如果$\\alpha \\parallel \\beta$, $ m \\subset \\alpha$, 那么 $m \\parallel \\beta$.\n④如果$m \\parallel n$,$\\alpha \\parallel \\beta$,那么m与$\\alpha$所成的角和n与$\\beta$所成的角相等.\n其中正确的命题是_______(填序号).", "options": "[]", "type": 2} +{"stem": "有三张卡片,分别写有1和2,1和3,2和3.甲,乙,丙三人各取走一张卡片,甲看了乙的卡片后说:“我与乙的卡片上相同的数字不是2”,乙看了丙的卡片后说:“我与丙的卡片上相同的数字不是1”,丙说:“我的卡片上的数字之和不是5”,则甲的卡片上的数字是_______", "options": "[]", "type": 2} +{"stem": "若直线$y=k x+b$是曲线$y=\\ln x+2$的切线,也是曲线$y=\\ln (x+1)$的切线,则b=_______", "options": "[]", "type": 2} +{"stem": "$S_{n}$为等差数列$\\left\\{a_{n}\\right\\}$的前n项和,且$a_{1}=1$,$S_{7}=28$,记 $b_{n}=\\left[\\lg a_{n}\\right]$,其中$[x]$表示不超过$x$的最大整数,如$[0.9]=0$,$[\\lg 99]=1$.求$b_{1}$,$b_{11}$,$b_{101}$;求数列$\\left\\{b_{n}\\right\\}$的前1000项和.", "options": "[]", "type": 4} +{"stem": "某保险的基本保费为a(单位:元),继续购买该保险的投保人成为续保人,续保人本年度的保费与其上年度出险次数的关联如下:\n\n设该险种一续保人一年内出险次数与相应概率如下:\n\n求一续保人本年度的保费高于基本保费的概率;若一续保人本年度的保费高于基本保费,求其保费比基本保费高出60%的概率;求续保人本年度的平均保费与基本保费的比值.", "options": "[]", "type": 4} +{"stem": "菱形$ABCD$的对角线$AC$与$BD$交于点$O$,$AB$=5,$AC$=6,点$E$,$F$分别在$AD$,$CD$上,$A E=C F=\\frac{5}{4}$,$EF$交于$BD$于点$H$,将$\\triangle D E F$沿$EF$折到$\\triangle D^{\\prime} E F$的位置,$O D^{\\prime}=\\sqrt{10}$.证明:$D^{\\prime}H \\perp$平面$ABCD$;求二面角$B-D^{\\prime} A-C$的正弦值.", "options": "[]", "type": 4} +{"stem": "已知椭圆$E$:$\\frac{x^{2}}{t} + \\frac{y^{2}}{3} = 1$的焦点在$x$轴上,$A$是$E$的左顶点,斜率为$k(k>0)$的直线交$E$于$A$,$M$两点,点$N$在$E$上,$MA \\perp NA$.当$t=4$,$|AM|=|AN|$时,求$\\triangle AMN$的面积;当$2|AM|=|AN|$时,求$k$的取值范围.", "options": "[]", "type": 4} +{"stem": "讨论函数$f(x)=\\frac{x-2}{x+2} e^{x}$的单调性,并证明当$x>0$时,$(x-2) e^{x}+x+2>0$;证明:当$a \\in[0,1)$时,函数$g(x)=\\frac{e^{x}-a x-a}{x^{2}} \\quad(x>0)$有最小值.设$g(x)$的最小值为$h(a)$,求函数$h(a)$的值域.", "options": "[]", "type": 4} +{"stem": "如图,在正方形$ABCD$中,$E$,$G$分别在边$DA$,$DC$上(不与端点重合),且$DE=DG$,过$D$点作$DF \\perp CE$,垂足为$F$.证明:$B$,$C$,$G$,$F$四点共圆;若$AB=1$,$E$为$DA$的中点,求四边形$BCGF$的面积.", "options": "[]", "type": 4} +{"stem": "在直角坐标系$xOy$中,圆$C$的方程为$(x+6)^{2}+y^{2}=25$.以坐标原点为极点,$x$轴正半轴为极轴建立极坐标系,求$C$的极坐标方程;直线$l$的参数方程是$\\left\\{\\begin{array}{l}x=t \\cos \\alpha \\ y=t \\sin \\alpha\\end{array}\\right.$($t$为参数),$l$与$C$交与$A$,$B$两点,$|A B|=\\sqrt{10}$,求$l$的斜率.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=\\left|x-\\frac{1}{2}\\right|+\\left|x+\\frac{1}{2}\\right|$,$M$为不等式$f(x)<2$的解集.求$M$;证明:当$a, b \\in M$时,$|a+b|<|1+ab|$.", "options": "[]", "type": 4} +{"stem": "$\\frac{3+i}{1+i}=$(  )", "options": "['$1+2 i$', '$1-2 i$', '$2+i$', '$2-i$']", "type": 6} +{"stem": "设集合$A=\\{1,2,4\\}, B=\\left\\{x | x^{2}-4 x+m=0\\right\\}$.若$A \\cap B=\\{1\\}$,则$B=$(  )", "options": "['$\\\\{1,-3\\\\}$', '$\\\\{1,0\\\\}$', '$\\\\{1,3\\\\}$', '$\\\\{1,5\\\\}$']", "type": 6} +{"stem": "我国古代数学名著《算法统宗》中有如下问题:“远看巍巍塔七层,红光点点倍加增,共灯三百八十一,请问尖头几盏灯?”意思是:一座7层塔共挂了381盏灯,且相邻两层中的下一层灯数是上一层灯数的2倍,则塔的顶层共有灯(  )", "options": "['1盏', '3盏', '5盏', '9盏']", "type": 6} +{"stem": "如图,网格纸上小正方形的边长为1,粗实线画出的是某几何体的三视图,该几何体由一平面将一圆柱截去一部分后所得,则该几何体的体积为(  )$\\FigureID{3bfbaaca-8af1-11eb-afca-b46bfc50aa29}$$\\FigureID{59c13df0-8af1-11eb-98f4-b46bfc50aa29}$$\\FigureID{08966a7f-8b7c-11eb-9043-b46bfc50aa29}$", "options": "['90π', '63π', '42π', '36π']", "type": 6} +{"stem": "设$x, y$满足约束条件$\\left\\{\\begin{array}{l}2 x+3 y-3<0 \\ 2 x-3 y+3>0 \\ y+3 \\geqslant 0\\end{array}\\right.$,则$z=2 x+y$的最小值是(  )", "options": "['-15', '-9', '1', '9']", "type": 6} +{"stem": "安排3名志愿者完成4项工作,每人至少完成1项,每项工作由1人完成,则不同的安排方式共有(  )", "options": "['12种', '18种', '24种', '36种']", "type": 6} +{"stem": "甲、乙、丙、丁四位同学一起去问老师询问成语竞赛的成绩.老师说:你们四人中有2位优秀,2位良好,我现在给甲看乙、丙的成绩,给乙看丙的成绩,给丁看甲的成绩.看后甲对大家说:我还是不知道我的成绩.根据以上信息,则(  )", "options": "['乙可以知道四人的成绩', '丁可以知道四人的成绩', '乙、丁可以知道对方的成绩', '乙、丁可以知道自己的成绩\\t']", "type": 6} +{"stem": "执行如图的程序框图,如果输入的$a=-1$,则输出的$S=$(  )$\\FigureID{3bfbaacb-8af1-11eb-8c97-b46bfc50aa29}$$\\FigureID{59c16800-8af1-11eb-bbee-b46bfc50aa29}$$\\FigureID{08969218-8b7c-11eb-8790-b46bfc50aa29}$", "options": "['2', '3', '4', '5']", "type": 6} +{"stem": "若双曲线$C: \\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 \\quad(a>0, \\quad b>0)$的一条渐近线被圆$(x-2)^{2}+y^{2}=4$所截得的弦长为2,则C的离心率为(  )", "options": "['$2$', '$\\\\sqrt{3}$', '$\\\\sqrt{2}$', '$\\\\frac{2 \\\\sqrt{3}}{3}$']", "type": 6} +{"stem": "已知直三棱柱$\\mathrm{ABC}-\\mathrm{A}_{1} \\mathrm{B}_{1} \\mathrm{C}_{1}$中,$\\angle \\mathrm{ABC}=120^{\\circ}$,$A B=2$,$\\mathrm{BC}=\\mathrm{CC}_{1}=1$,则异面直线$\\mathrm{AB}_{1}$与$\\mathrm{BC}_{1}$所成角的余弦值为(  )", "options": "['$\\\\frac{\\\\sqrt{3}}{2}$', '$\\\\frac{\\\\sqrt{15}}{5}$', '$\\\\frac{\\\\sqrt{10}}{5}$', '$\\\\frac{\\\\sqrt{3}}{3}$']", "type": 6} +{"stem": "若$x=-2$是函数$f(x)=\\left(x^{2}+a x-1\\right) e^{x-1}$的极值点,则$f(x)$的极小值为(  )", "options": "['$-1$', '$-2 e^{-3}$', '$5 e^{-3}$', '$1$']", "type": 6} +{"stem": "已知$\\triangle A B C$是边长为2的等边三角形,P为平面ABC内一点,则$\\overrightarrow{\\mathrm{PA}} \\cdot(\\overrightarrow{\\mathrm{PB}}+\\overrightarrow{\\mathrm{PC}})$的最小值是(  )", "options": "['$-2$', '$-\\\\frac{3}{2}$', '$-\\\\frac{4}{3}$', '$-1$']", "type": 6} +{"stem": "一批产品的二等品率为0.02,从这批产品中每次随机取一件,有放回地抽取100次.$X$表示抽到的二等品件数,则$D X=$_______", "options": "[]", "type": 2} +{"stem": "函数$f(x)=\\sin ^{2} x+\\sqrt{3} \\cos x-\\frac{3}{4}\\left(x \\in\\left[0, \\frac{\\pi}{2}\\right]\\right)$的最大值是$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "等差数列$\\left\\{a_{n}\\right\\}$的前n项和为$\\mathrm{S}_{n}, \\mathrm{a}_{3}=3, \\mathrm{S}_{4}=10$,$\\sum_{k=1}^{n} \\frac{1}{S_{k}}=$_______", "options": "[]", "type": 2} +{"stem": "已知F是抛物线$\\mathrm{C}: \\mathrm{y}^{2}=8 \\mathrm{x}$的焦点,M是C上一点,FM的延长线交y轴于点N.若M为FN的中点,则|FN|=_______", "options": "[]", "type": 2} +{"stem": "$\\triangle \\mathrm{ABC}$的内角A,B,C的对边分别为a,b,c,已知$\\sin (A+C)=8 \\sin ^{2} \\frac{B}{2}$.(1)求$\\cos B$;(2)若$a+c=6$,$\\triangle \\mathrm{ABC}$的面积为2,求b.", "options": "[]", "type": 4} +{"stem": "海水养殖场进行某水产品的新、旧网箱养殖方法的产量对比,收获时各随机抽取了100个网箱,测量各箱水产品的产量(单位:kg),其频率分布直方图如图:(1)设两种养殖方法的箱产量相互独立,记A表示事件“旧养殖法的箱产量低于50kg,新养殖法的箱产量不低于50kg”,估计A的概率;(2)填写下面列联表,并根据列联表判断是否有99%的把握认为箱产量与养殖方法有关:(3)根据箱产量的频率分布直方图,求新养殖法箱产量的中位数的估计值(精确到0.01).\n$\\mathrm{K}^{2}=\\frac{\\mathrm{n}(\\mathrm{ad}-\\mathrm{bc})^{2}}{(\\mathrm{a}+\\mathrm{b})(\\mathrm{c}+\\mathrm{d})(\\mathrm{a}+\\mathrm{c})(\\mathrm{b}+\\mathrm{d})}$.$\\FigureID{3bfbd1c8-8af1-11eb-aac6-b46bfc50aa29}$$\\FigureID{59c16801-8af1-11eb-98c3-b46bfc50aa29}$$\\FigureID{08969219-8b7c-11eb-afa0-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "如图,四棱锥P﹣ABCD中,侧面PAD为等边三角形且垂直于底面ABCD,$A B=B C=\\frac{1}{2} A D, \\quad \\angle B A D=\\angle A B C=90^{\\circ}$,E是PD的中点.(1)证明:直线$\\mathrm{CE} / / $平面$PAB$;(2)点$M$在棱$P C$上,且直线$BM$与底面$ABCD$所成角为45°,求二面角$\\mathrm{M}-\\mathrm{AB}-\\mathrm{D}$的余弦值.", "options": "[]", "type": 4} +{"stem": "设O为坐标原点,动点M在椭圆$C: \\frac{x^{2}}{2}+y^{2}=1$上,过M作$x$轴的垂线,垂足为N,点P满足$\\overrightarrow{\\mathrm{NP}}=\\sqrt{2} \\overrightarrow{\\mathrm{NM}}$.(1)求点P的轨迹方程;(2)设点Q在直线$x=-3$上,且$\\overrightarrow{\\mathrm{OP}} \\cdot \\overrightarrow{\\mathrm{PQ}}=1$.证明:过点P且垂直于OQ的直线l过C的左焦点F.", "options": "[]", "type": 4} +{"stem": "已知函数$(x)=a x^{2}-a x-x \\ln x$,且$f(x) \\geqslant 0$.(1)求$a$;(2)证明:$f(x)$存在唯一的极大值点$x_{0}$,且${e}^{-2}<{f}\\left({x}_{0}\\right)<2^{-2}$.", "options": "[]", "type": 4} +{"stem": "在直角坐标系xOy中,以坐标原点为极点,$x$轴的正半轴为极轴建立极坐标系,曲线$C_{1}$的极坐标方程为$p\\cos\\theta=4$.(1)M为曲线$\\mathrm{C}_{1}$上的动点,点P在线段OM上,且满足$|O M| \\cdot|O P|=16$,求点P的轨迹$\\mathrm{C}_{2}$的直角坐标方程;(2)设点A的极坐标为$\\left(2, \\frac{\\pi}{3}\\right)$,点B在曲线$\\mathrm{C}_{2}$上,求$\\triangle \\mathrm{OAB}$面积的最大值.", "options": "[]", "type": 4} +{"stem": "已知$a>0, \\quad b>0, \\quad a^{3}+b^{3}=2$.证明:(1)$(a+b) \\left(a^{5}+b^{5}\\right) \\geqslant 4$;(2)$a+b \\leq 2$.", "options": "[]", "type": 4} +{"stem": "$\\frac{1+2 i}{1-2 i}=$(  )", "options": "['$-\\\\frac{4}{5}-\\\\frac{3}{5} i$', '$-\\\\frac{4}{5}+\\\\frac{3}{5} i$', '$-\\\\frac{3}{5}-\\\\frac{4}{5} i$', '$-\\\\frac{3}{5}+\\\\frac{4}{5} i$']", "type": 6} +{"stem": "已知集合A={(x,y)|x2+y2≤3,x∈Z,y∈Z},则A中元素的个数为(  )", "options": "['9', '8', '5', '4']", "type": 6} +{"stem": "函数$f(x)=\\frac{e^{x}-e^{-x}}{x^{2}}$的图象大致为(  )", "options": "['$\\\\LUNAPictureID{3c0054ac-8af1-11eb-bd93-b46bfc50aa29}$$\\\\LUNAPictureID{59c5f0c8-8af1-11eb-8d12-b46bfc50aa29}$$\\\\LUNAPictureID{089a10ec-8b7c-11eb-9277-b46bfc50aa29}$', '$\\\\LUNAPictureID{3c0054ad-8af1-11eb-81cc-b46bfc50aa29}$$\\\\LUNAPictureID{59c5f0c9-8af1-11eb-943e-b46bfc50aa29}$$\\\\LUNAPictureID{089a10ed-8b7c-11eb-bf09-b46bfc50aa29}$', '$\\\\LUNAPictureID{3c0054ae-8af1-11eb-80d1-b46bfc50aa29}$$\\\\LUNAPictureID{59c5f0ca-8af1-11eb-b743-b46bfc50aa29}$$\\\\LUNAPictureID{089a10ee-8b7c-11eb-922a-b46bfc50aa29}$', '$\\\\LUNAPictureID{3c0054af-8af1-11eb-a7f3-b46bfc50aa29}$$\\\\LUNAPictureID{59c5f0cb-8af1-11eb-b785-b46bfc50aa29}$$\\\\LUNAPictureID{089a10ef-8b7c-11eb-ad65-b46bfc50aa29}$']", "type": 6} +{"stem": "已知向量$\\vec{a}, \\quad \\vec{b}$,满足$|\\vec{a}|=1, \\quad \\vec{a} \\cdot \\vec{b}=-1$,则$\\vec{a} \\cdot(2 \\vec{a}-\\vec{b})=$(  )", "options": "['4', '3', '2', '0']", "type": 6} +{"stem": "双曲线$\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 \\quad(a>0, b>0)$的离心率为$\\sqrt{3}$,则其渐近线方程为(  )", "options": "['$y=\\\\pm \\\\sqrt{2} x$', '$y=\\\\pm \\\\sqrt{3} x$', '$y=\\\\pm \\\\frac{\\\\sqrt{2}}{2} x$', '$y=\\\\pm \\\\frac{\\\\sqrt{3}}{2} x$']", "type": 6} +{"stem": "在$\\triangle \\mathrm{ABC}$中,$\\cos \\frac{C}{2}=\\frac{\\sqrt{5}}{5}, \\quad B C=1, \\quad A C=5$,则$A B=$(  )", "options": "['$4 \\\\sqrt{2}$', '$\\\\sqrt{30}$', '$\\\\sqrt{29}$', '$2 \\\\sqrt{5}$']", "type": 6} +{"stem": "为计算$S=1-\\frac{1}{2}+\\frac{1}{3}-\\frac{1}{4}+\\ldots+\\frac{1}{99}-\\frac{1}{100}$,设计了如图的程序框图,则在空白框中应填入(  )$\\FigureID{3bfbd1c9-8af1-11eb-9464-b46bfc50aa29}$$\\FigureID{59c18f00-8af1-11eb-ae1f-b46bfc50aa29}$$\\FigureID{0896921a-8b7c-11eb-9b2c-b46bfc50aa29}$", "options": "['$\\\\mathrm{i}=\\\\mathrm{i}+1$', '$\\\\mathrm{i}=\\\\mathrm{i}+2$', '$\\\\mathrm{i}=\\\\mathrm{i}+3$', '$\\\\mathrm{i}=\\\\mathrm{i}+4$']", "type": 6} +{"stem": "我国数学家陈景润在哥德巴赫猜想的研究中取得了世界领先的成果.哥德巴赫猜想是“每个大于2的偶数可以表示为两个素数的和”,如$30=7+23$.在不超过30的素数中,随机选取两个不同的数,其和等于30的概率是(  )", "options": "['$\\\\frac{1}{12}$', '$\\\\frac{1}{14}$', '$\\\\frac{1}{15}$', '$\\\\frac{1}{18}$']", "type": 6} +{"stem": "在长方体$\\mathrm{ABCD}-\\mathrm{A}_{1} \\mathrm{B}_{1} \\mathrm{C}_{1} \\mathrm{D}_{1}$中,$\\mathrm{AB}=\\mathrm{BC}=1, \\quad \\mathrm{AA}_{1}=\\sqrt{3}$,则异面直线$\\mathrm{AD}_{1}$与$\\mathrm{DB}_{1}$所成角的余弦值为(  )", "options": "['$\\\\frac{1}{5}$', '$\\\\frac{\\\\sqrt{5}}{6}$', '$\\\\frac{\\\\sqrt{5}}{5}$', '$\\\\frac{\\\\sqrt{2}}{2}$']", "type": 6} +{"stem": "若$f(x)=\\cos x-\\sin x$在$[-a, a]$是减函数,则$a$的最大值是(  )", "options": "['$\\\\frac{\\\\pi}{4}$', '$\\\\frac{\\\\pi}{2}$', '$\\\\frac{3 \\\\pi}{4}$', '$\\\\pi$']", "type": 6} +{"stem": "已知$f(x)$是定义域为$(-\\infty,+\\infty)$的奇函数,满足$f(1-x)=f(1+x)$,若$f(1)=2$,则$f(1)+f(2)+f(3)+\\ldots+f(50)=$(  )", "options": "['-50', '0', '2', '50']", "type": 6} +{"stem": "已知$\\mathrm{F}_{1}, \\mathrm{F}_{2}$是椭圆$C: \\frac{x^{2}}{a^{2}}+\\frac{y^{2}}{b^{2}}=1 \\quad(a>b>0)$的左、右焦点,A是C的左顶点,点P在过A且斜率为$\\frac{\\sqrt{3}}{6}$的直线上,$\\triangle \\mathrm{PF}_{1} \\mathrm{F}_{2}$为等腰三角形,$\\angle \\mathrm{F}_{1} \\mathrm{F}_{2} \\mathrm{P}=120^{\\circ}$,则C的离心率为(  )", "options": "['$\\\\frac{2}{3}$', '$\\\\frac{1}{2}$', '$\\\\frac{1}{3}$', '$\\\\frac{1}{4}$']", "type": 6} +{"stem": "曲线$y=2 \\ln (x+1)$在点(0,0)处的切线方程为_______", "options": "[]", "type": 2} +{"stem": "若x,y满足约束条件$\\left\\{\\begin{array}{l}x+2 y-5 \\geq 0 \\ x-2 y+3 \\geq 0 \\ x-5 \\leq 0\\end{array}\\right.$,则$z=x+y$的最大值为_______", "options": "[]", "type": 2} +{"stem": "已知$\\sin \\alpha+\\cos \\beta=1, \\quad \\cos \\alpha+\\sin \\beta=0$,则$\\sin (\\alpha+\\beta)=$$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "已知圆锥的顶点为S,母线SA,SB所成角的余弦值为$\\frac{7}{8}$,SA与圆锥底面所成角为$45^{\\circ}$,若$\\triangle \\mathrm{SAB}$的面积为$5 \\sqrt{15}$,则该圆锥的侧面积为_______", "options": "[]", "type": 2} +{"stem": "记$S_{n}$为等差数列$\\left\\{a_{n}\\right\\}$的前$n$项和,已知$a_{1}=-7, \\quad S_{3}=-15$.(1)求$\\left\\{a_{n}\\right\\}$的通项公式;(2)求$\\mathrm{S}_{n}$,并求$\\mathrm{S}_{n}$的最小值.", "options": "[]", "type": 4} +{"stem": "如图是某地区2000年至2016年环境基础设施投资额y(单位:亿元)的折线图.为了预测该地区2018年的环境基础设施投资额,建立了$y$与时间变量t的两个线性回归模型.根据2000年至2016年的数据(时间变量t的值依次为1,2,…,17)建立模型①:$\\widehat{y}=-30.4+13.5 \\mathrm{t}$;根据2010年至2016年的数据(时间变量t的值依次为1,2,…,7)建立模型②:$\\widehat{y}=99+17.5 t$.(1)分别利用这两个模型,求该地区2018年的环境基础设施投资额的预测值;(2)你认为用哪个模型得到的预测值更可靠?并说明理由.$\\FigureID{3bfbf8da-8af1-11eb-9b4a-b46bfc50aa29}$$\\FigureID{59c18f01-8af1-11eb-b48b-b46bfc50aa29}$$\\FigureID{0896921b-8b7c-11eb-b0a7-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "设抛物线$\\mathrm{C}: \\mathrm{y}^{2}=4 \\mathrm{x}$的焦点为F,过F且斜率为$k(k>0)$的直线l与C交于A,B两点,|AB|=8.(1)求l的方程;(2)求过点A,B且与C的准线相切的圆的方程.", "options": "[]", "type": 4} +{"stem": "如图,在三棱锥P﹣ABC中,$A B=B C=2 \\sqrt{2}$,$\\mathrm{PA}=\\mathrm{PB}=\\mathrm{PC}=\\mathrm{AC}=4$,O为AC的中点.(1)证明:PO⊥平面ABC;(2)若点M在棱BC上,且二面角M﹣PA﹣C为30°,求PC与平面PAM所成角的正弦值.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=e^{x}-a x^{2}$.(1)若$a=1$,证明:当$x \\geqslant 0$时,$f(x) \\geqslant 1$;(2)若$f(x)$在$(0,+\\infty)$只有一个零点,求$a$.", "options": "[]", "type": 4} +{"stem": "在直角坐标系$xOy$中,曲线C的参数方程为$\\left\\{\\begin{array}{l}x=2 \\cos \\theta \\ y=4 \\sin \\theta\\end{array}\\right.$,($θ$为参数),直线l的参数方程为$\\left\\{\\begin{array}{l}x=1+t \\cos \\alpha \\ y=2+\\operatorname{tain} \\alpha\\end{array}\\right.$,($t$为参数).(1)求C和l的直角坐标方程;(2)若曲线C截直线l所得线段的中点坐标为(1,2),求l的斜率.", "options": "[]", "type": 4} +{"stem": "设函数$f(x)=5-|x+a|-|x-2|$.(1)当$a=1$时,求不等式$f(x) \\geqslant 0$的解集;(2)若$f(x) \\leqslant 1$,求$a$的取值范围.", "options": "[]", "type": 4} +{"stem": "设集合A={x|x2-5x+6>0},B={ x|x-1<0},则A∩B=", "options": "['$(-\\\\infty, 1)$', '(-2,1)', '(-3,-1)', '$(3,+\\\\infty)$']", "type": 6} +{"stem": "设$z=-3+2i$,则在复平面内$\\bar{z}$对应的点位于", "options": "['第一象限', '第二象限', '第三象限', '第四象限']", "type": 6} +{"stem": "已知$\\overrightarrow{A B}=(2,3)$,$\\overrightarrow{A C}=(3, t)$,则$\\overrightarrow{A B} \\cdot \\overrightarrow{A C}$", "options": "['-3', '-2', '2', '3']", "type": 6} +{"stem": "2019年1月3日嫦娥四号探测器成功实现人类历史上首次月球背面软着陆,我国航天事业取得又一重大成就,实现月球背面软着陆需要解决的一个关键技术问题是地面与探测器的通讯联系.为解决这个问题,发射了嫦娥四号中继星“鹊桥”,鹊桥沿着围绕地月拉格朗日$L_{2}$点的轨道运行.$L_{2}$点是平衡点,位于地月连线的延长线上.设地球质量为$M_{1}$,月球质量为$M_{2}$,地月距离为R,$L_{2}$点到月球的距离为r,根据牛顿运动定律和万有引力定律,r满足方程:$\\frac{M_{1}}{(R+r)^{2}}+\\frac{M_{2}}{r^{2}}=(R+r) \\frac{M_{1}}{R^{3}}$.\n设$\\alpha=\\frac{r}{R}$,由于$\\alpha$的值很小,因此在近似计算中$\\frac{3 a^{3}+3 \\alpha^{4}+\\alpha^{5}}{(1+\\alpha)^{2}} \\approx 3 \\alpha^{3}$,则r的近似值为", "options": "['$\\\\sqrt{\\\\frac{M_{2}}{M_{1}}} R$', '$\\\\sqrt{\\\\frac{M_{2}}{2M_{1}}} R$', '$\\\\sqrt{\\\\frac{3M_{2}}{M_{1}}} R$', '$\\\\sqrt{\\\\frac{M_{2}}{3M_{1}}} R$']", "type": 6} +{"stem": "演讲比赛共有9位评委分别给出某选手的原始评分,评定该选手的成绩时,从9个原始评分中去掉1个最高分、1个最低分,得到7个有效评分.7个有效评分与9个原始评分相比,不变的数字特征是", "options": "['中位数', '平均数', '方差', '极差']", "type": 6} +{"stem": "若a>b,则", "options": "['$\\\\ln (a-b)>0$', '$3^{a}<3^{b}$', '$a^{3}-b^{3}>0$', '$|a|>|b|$']", "type": 6} +{"stem": "设α,β为两个平面,则α∥β的充要条件是", "options": "['α内有无数条直线与β平行', 'α内有两条相交直线与β平行', 'α,β平行于同一条直线', 'α,β垂直于同一平面']", "type": 6} +{"stem": "若抛物线y2=2px(p>0)的焦点是椭圆$\\frac{x^{2}}{3 p}+\\frac{y^{2}}{p}=1$的一个焦点,则p=", "options": "['2', '3', '4', '8']", "type": 6} +{"stem": "下列函数中,以$\\frac{\\pi}{2}$为周期且在区间$(\\frac{\\pi}{4}, \\frac{\\pi}{2})$单调递增的是", "options": "['$f(x)=|\\\\cos 2 x|$', '$f(x)=|\\\\sin 2 x|$', '$f(x)=\\\\cos |x|$', '$f(x)=\\\\sin |x|$']", "type": 6} +{"stem": "已知$a \\in\\left(0, \\frac{\\pi}{2}\\right)$,$2 \\sin 2 \\alpha=\\cos 2 \\alpha+1,$ 则 $\\sin \\alpha=$", "options": "['$\\\\frac{1}{5}$', '$\\\\frac{\\\\sqrt{5}}{5}$', '$\\\\frac{\\\\sqrt{3}}{3}$', '$\\\\frac{2 \\\\sqrt{5}}{5}$']", "type": 6} +{"stem": "设F为双曲线C:$\\frac{x^{2}}{a^{2}}-\\frac{y^{2}}{b^{2}}=1 \\quad(a>0, \\quad b>0)$的右焦点,O为坐标原点,以OF为直径的圆与圆$x^{2}+y^{2}=a^{2}$交于P、Q两点.若|PQ|=|OF|,则C的离心率为", "options": "['$\\\\sqrt{2}$', '$\\\\sqrt{3}$', '2', '$\\\\sqrt{5}$']", "type": 6} +{"stem": "设函数$f(x)$的定义域为R,满足$f(x+1)=2f(x)$,且当$x \\in (0,1]$时,$f(x)=x(x-1)$.若对任意$x \\in(-\\infty, m]$,都有$f(x) \\geq-\\frac{8}{9}$,则m的取值范围是", "options": "['$\\\\left(-\\\\infty, \\\\frac{9}{4}\\\\right]$', '$\\\\left(-\\\\infty, \\\\frac{7}{3}\\\\right]$', '$\\\\left(-\\\\infty, \\\\frac{5}{2}\\\\right]$', '$\\\\left(-x, \\\\frac{8}{3}\\\\right]$']", "type": 6} +{"stem": "我国高铁发展迅速,技术先进.经统计,在经停某站的高铁列车中,有10个车次的正点率为0.97,有20个车次的正点率为0.98,有10个车次的正点率为0.99,则经停该站高铁列车所有车次的平均正点率的估计值为_______", "options": "[]", "type": 2} +{"stem": "已知$f(x)$是奇函数,且当$x<0$时,$f(x)=-e^{ax}$.若$f(\\ln 2)=8$,则$\\SIFBlank$", "options": "[]", "type": 2} +{"stem": "$\\triangle ABC$的内角A,B,C对边分别为a,b,c。若$b=6,a=2c,B=\\frac{\\pi}{3}$,则$\\triangle ABC$的面积为_______", "options": "[]", "type": 2} +{"stem": "中国有悠久的金石文化,印信是金石文化的代表之一.印信的形状多为长方体、正方体或圆柱体,但南北朝时期的官员独孤信的印信形状是“半正多面体”(图1).半正多面体是由两种或两种以上的正多边形围成的多面体.半正多面体体现了数学的对称美.图2是一个棱数为48的半正多面体,它的所有顶点都在同一个正方体的表面上,且此正方体的棱长为1.则该半正多面体共有________个面,其棱长为_________.$\\FigureID{3bfc05ba-8af1-11eb-bcf5-b46bfc50aa29}$$\\FigureID{59c1b61a-8af1-11eb-a3a1-b46bfc50aa29}$$\\FigureID{0896921c-8b7c-11eb-bd06-b46bfc50aa29}$", "options": "[]", "type": 2} +{"stem": "如图,长方体$A B C D-A_{1} B_{1} C_{1} D_{1}$的底面ABCD是正方形,点E在棱$A A_{1}$上,$B E \\perp E C_{1}$证明:BE⊥平面$E B_{1} C_{1}$;若AE=$A_{1} E$,求二面角$B-E C-C_{1}$的正弦值.$\\FigureID{3bfc05bb-8af1-11eb-9c1f-b46bfc50aa29}$$\\FigureID{59c1b61b-8af1-11eb-a51f-b46bfc50aa29}$$\\FigureID{0896921d-8b7c-11eb-b757-b46bfc50aa29}$", "options": "[]", "type": 4} +{"stem": "11分制乒乓球比赛,每赢一球得1分,当某局打成10:10平后,每球交换发球权,先多得2分的一方获胜,该局比赛结束.甲、乙两位同学进行单打比赛,假设甲发球时甲得分的概率为0.5,乙发球时甲得分的概率为0.4,各球的结果相互独立.在某局双方10:10平后,甲先发球,两人又打了X个球该局比赛结束.求$P(X=2)$;求事件“X=4且甲获胜”的概率.", "options": "[]", "type": 4} +{"stem": "已知数列$\\left\\{a_{n}\\right\\}$和$\\left\\{b_{n}\\right\\}$满足$a_{1}=1, \\quad b_{1}=0$,$4 a_{n+1}=3 a_{n}-b_{n}+4, \\quad 4 b_{n+1}=3 b_{n}-a_{n}-4$.证明:$\\left\\{a_{n}+b_{n}\\right\\}$是等比数列,$\\left\\{a_{n}-b_{n}\\right\\}$是等差数列;求$\\left\\{a_{n}\\right\\}$和$\\left\\{b_{n}\\right\\}$的通项公式.", "options": "[]", "type": 4} +{"stem": "已知函数$f(x)=\\ln x-\\frac{x+1}{x-1}$讨论$f(x)$的单调性,并证明$f(x)$有且仅有两个零点;设$x_{0}$是$f(x)$的一个零点,证明曲线$y=\\ln x$ 在点$A\\left(x_{0}, \\ln x_{0}\\right)$处的切线也是曲线$y=\\mathfrak{e}^{x}$的切线.", "options": "[]", "type": 4} +{"stem": "已知点A(−2,0),B(2,0),动点M(x,y)满足直线AM与BM的斜率之积为$-\\frac{1}{2}$.记M的轨迹为曲线C.求C的方程,并说明C是什么曲线;过坐标原点的直线交C于P,Q两点,点P在第一象限,PE⊥x轴,垂足为E,连结QE并延长交C于点G.\n(i)证明:$\\triangle P Q G$直角三角形;\n(ii)求$\\triangle P Q G$面积的最大值.", "options": "[]", "type": 4} +{"stem": "在极坐标系中,O为极点,点$M\\left(\\rho_{0}, \\theta_{0}\\right)\\left(\\rho_{0}>0\\right)$在曲线$C: \\rho=4 \\sin \\theta$上,直线$l$过点$A(4,0)$且与OM垂直,垂足为P.当$\\theta_{0}=\\frac{\\pi}{3}$时,求$\\rho_{0}$及$l$的极坐标方程当M在C上运动且P在线段OM上时,求P点轨迹的极坐标方程.", "options": "[]", "type": 4} +{"stem": "已知$f(x)=|x-a| x+|x-2|(x-a)$当$a=1$时,求不等式$f(x)<0$的解集;若$x \\in(-\\infty, 1)$时,$f(x)<0$,求$a$的取值范围.", "options": "[]", "type": 4} diff --git a/tests/test_vec/test_vec.py b/tests/test_vec/test_vec.py new file mode 100644 index 00000000..e7ec908c --- /dev/null +++ b/tests/test_vec/test_vec.py @@ -0,0 +1,60 @@ +# coding: utf-8 +# 2021/5/30 @ tongshiwei + +import pytest +from EduNLP.Pretrain import train_vector, GensimWordTokenizer +from EduNLP.Vector import W2V, D2V + + +@pytest.fixture(scope="module") +def stem_data(data): + _data = [] + tokenizer = GensimWordTokenizer() + for e in data[:10]: + d = tokenizer(e["stem"]) + if d is not None: + _data.append(d.tokens) + assert _data + return _data + + +@pytest.mark.parametrize("method", ["sg", "cbow", "fasttext"]) +def test_w2v(stem_data, tmpdir, method): + filepath_prefix = str(tmpdir.mkdir(method).join("stem_tf_")) + filepath = train_vector( + stem_data, + filepath_prefix, + 10, + method=method, + train_params=dict(min_count=0) + ) + w2v = W2V(filepath, method=method) + w2v(stem_data[0]) + assert len(w2v["[FIGURE]"]) == 10 + assert len(list(w2v("[FIGURE]"))) == 1 + + +def test_d2v(stem_data, tmpdir): + method = "d2v" + filepath_prefix = str(tmpdir.mkdir(method).join("stem_tf_")) + filepath = train_vector( + stem_data, + filepath_prefix, + 10, + method=method, + train_params=dict(min_count=0) + ) + d2v = D2V(filepath) + assert len(d2v(stem_data[0])) == 10 + + +def test_exception(stem_data, tmpdir): + filepath_prefix = str(tmpdir.mkdir("error").join("stem_tf_")) + with pytest.raises(ValueError): + train_vector( + stem_data, + filepath_prefix, + 10, + method="error", + train_params=dict(min_count=0) + )