| (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){ | |
| var serialize = require('dom-serialize') | |
| var instanceOf = require('./util').instanceOf | |
| function isNode (obj) { | |
| return (obj.tagName || obj.nodeName) && obj.nodeType | |
| } | |
| function stringify (obj, depth) { | |
| if (depth === 0) { | |
| return '...' | |
| } | |
| if (obj === null) { | |
| return 'null' | |
| } | |
| switch (typeof obj) { | |
| case 'symbol': | |
| return obj.toString() | |
| case 'string': | |
| return "'" + obj + "'" | |
| case 'undefined': | |
| return 'undefined' | |
| case 'function': | |
| try { | |
| // function abc(a, b, c) { /* code goes here */ } | |
| // -> function abc(a, b, c) { ... } | |
| return obj.toString().replace(/\{[\s\S]*\}/, '{ ... }') | |
| } catch (err) { | |
| if (err instanceof TypeError) { | |
| // Support older browsers | |
| return 'function ' + (obj.name || '') + '() { ... }' | |
| } else { | |
| throw err | |
| } | |
| } | |
| case 'boolean': | |
| return obj ? 'true' : 'false' | |
| case 'object': | |
| var strs = [] | |
| if (instanceOf(obj, 'Array')) { | |
| strs.push('[') | |
| for (var i = 0, ii = obj.length; i < ii; i++) { | |
| if (i) { | |
| strs.push(', ') | |
| } | |
| strs.push(stringify(obj[i], depth - 1)) | |
| } | |
| strs.push(']') | |
| } else if (instanceOf(obj, 'Date')) { | |
| return obj.toString() | |
| } else if (instanceOf(obj, 'Text')) { | |
| return obj.nodeValue | |
| } else if (instanceOf(obj, 'Comment')) { | |
| return '<!--' + obj.nodeValue + '-->' | |
| } else if (obj.outerHTML) { | |
| return obj.outerHTML | |
| } else if (isNode(obj)) { | |
| return serialize(obj) | |
| } else if (instanceOf(obj, 'Error')) { | |
| return obj.toString() + '\n' + obj.stack | |
| } else { | |
| var constructor = 'Object' | |
| if (obj.constructor && typeof obj.constructor === 'function') { | |
| constructor = obj.constructor.name | |
| } | |
| strs.push(constructor) | |
| strs.push('{') | |
| var first = true | |
| for (var key in obj) { | |
| if (Object.prototype.hasOwnProperty.call(obj, key)) { | |
| if (first) { | |
| first = false | |
| } else { | |
| strs.push(', ') | |
| } | |
| strs.push(key + ': ' + stringify(obj[key], depth - 1)) | |
| } | |
| } | |
| strs.push('}') | |
| } | |
| return strs.join('') | |
| default: | |
| return obj | |
| } | |
| } | |
| module.exports = stringify | |
| },{"./util":2,"dom-serialize":5}],2:[function(require,module,exports){ | |
| exports.instanceOf = function (value, constructorName) { | |
| return Object.prototype.toString.apply(value) === '[object ' + constructorName + ']' | |
| } | |
| exports.elm = function (id) { | |
| return document.getElementById(id) | |
| } | |
| exports.generateId = function (prefix) { | |
| return prefix + Math.floor(Math.random() * 10000) | |
| } | |
| exports.isUndefined = function (value) { | |
| return typeof value === 'undefined' | |
| } | |
| exports.isDefined = function (value) { | |
| return !exports.isUndefined(value) | |
| } | |
| exports.parseQueryParams = function (locationSearch) { | |
| var params = {} | |
| var pairs = locationSearch.substr(1).split('&') | |
| var keyValue | |
| for (var i = 0; i < pairs.length; i++) { | |
| keyValue = pairs[i].split('=') | |
| params[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1]) | |
| } | |
| return params | |
| } | |
| },{}],3:[function(require,module,exports){ | |
| // Load our dependencies | |
| var stringify = require('../common/stringify') | |
| // Define our context Karma constructor | |
| function ContextKarma (callParentKarmaMethod) { | |
| // Define local variables | |
| var hasError = false | |
| var self = this | |
| var isLoaded = false | |
| // Define our loggers | |
| // DEV: These are intentionally repeated in client and context | |
| this.log = function (type, args) { | |
| var values = [] | |
| for (var i = 0; i < args.length; i++) { | |
| values.push(this.stringify(args[i], 3)) | |
| } | |
| this.info({ log: values.join(', '), type: type }) | |
| } | |
| this.stringify = stringify | |
| // Define our proxy error handler | |
| // DEV: We require one in our context to track `hasError` | |
| this.error = function () { | |
| hasError = true | |
| callParentKarmaMethod('error', [].slice.call(arguments)) | |
| return false | |
| } | |
| // Define our start handler | |
| function UNIMPLEMENTED_START () { | |
| this.error('You need to include some adapter that implements __karma__.start method!') | |
| } | |
| // all files loaded, let's start the execution | |
| this.loaded = function () { | |
| // has error -> cancel | |
| if (!hasError && !isLoaded) { | |
| isLoaded = true | |
| try { | |
| this.start(this.config) | |
| } catch (error) { | |
| this.error(error.stack || error.toString()) | |
| } | |
| } | |
| // remove reference to child iframe | |
| this.start = UNIMPLEMENTED_START | |
| } | |
| // supposed to be overriden by the context | |
| // TODO(vojta): support multiple callbacks (queue) | |
| this.start = UNIMPLEMENTED_START | |
| // Define proxy methods | |
| // DEV: This is a closured `for` loop (same as a `forEach`) for IE support | |
| var proxyMethods = ['complete', 'info', 'result'] | |
| for (var i = 0; i < proxyMethods.length; i++) { | |
| (function bindProxyMethod (methodName) { | |
| self[methodName] = function boundProxyMethod () { | |
| callParentKarmaMethod(methodName, [].slice.call(arguments)) | |
| } | |
| }(proxyMethods[i])) | |
| } | |
| // Define bindings for context window | |
| this.setupContext = function (contextWindow) { | |
| // If we clear the context after every run and we already had an error | |
| // then stop now. Otherwise, carry on. | |
| if (self.config.clearContext && hasError) { | |
| return | |
| } | |
| // Perform window level bindings | |
| // DEV: We return `self.error` since we want to `return false` to ignore errors | |
| contextWindow.onerror = function () { | |
| return self.error.apply(self, arguments) | |
| } | |
| // DEV: We must defined a function since we don't want to pass the event object | |
| contextWindow.onbeforeunload = function (e, b) { | |
| callParentKarmaMethod('onbeforeunload', []) | |
| } | |
| contextWindow.dump = function () { | |
| self.log('dump', arguments) | |
| } | |
| var _confirm = contextWindow.confirm | |
| var _prompt = contextWindow.prompt | |
| contextWindow.alert = function (msg) { | |
| self.log('alert', [msg]) | |
| } | |
| contextWindow.confirm = function (msg) { | |
| self.log('confirm', [msg]) | |
| return _confirm(msg) | |
| } | |
| contextWindow.prompt = function (msg, defaultVal) { | |
| self.log('prompt', [msg, defaultVal]) | |
| return _prompt(msg, defaultVal) | |
| } | |
| // If we want to overload our console, then do it | |
| function getConsole (currentWindow) { | |
| return currentWindow.console || { | |
| log: function () {}, | |
| info: function () {}, | |
| warn: function () {}, | |
| error: function () {}, | |
| debug: function () {} | |
| } | |
| } | |
| if (self.config.captureConsole) { | |
| // patch the console | |
| var localConsole = contextWindow.console = getConsole(contextWindow) | |
| var logMethods = ['log', 'info', 'warn', 'error', 'debug'] | |
| var patchConsoleMethod = function (method) { | |
| var orig = localConsole[method] | |
| if (!orig) { | |
| return | |
| } | |
| localConsole[method] = function () { | |
| self.log(method, arguments) | |
| try { | |
| return Function.prototype.apply.call(orig, localConsole, arguments) | |
| } catch (error) { | |
| self.log('warn', ['Console method ' + method + ' threw: ' + error]) | |
| } | |
| } | |
| } | |
| for (var i = 0; i < logMethods.length; i++) { | |
| patchConsoleMethod(logMethods[i]) | |
| } | |
| } | |
| } | |
| } | |
| // Define call/proxy methods | |
| ContextKarma.getDirectCallParentKarmaMethod = function (parentWindow) { | |
| return function directCallParentKarmaMethod (method, args) { | |
| // If the method doesn't exist, then error out | |
| if (!parentWindow.karma[method]) { | |
| parentWindow.karma.error('Expected Karma method "' + method + '" to exist but it doesn\'t') | |
| return | |
| } | |
| // Otherwise, run our method | |
| parentWindow.karma[method].apply(parentWindow.karma, args) | |
| } | |
| } | |
| ContextKarma.getPostMessageCallParentKarmaMethod = function (parentWindow) { | |
| return function postMessageCallParentKarmaMethod (method, args) { | |
| parentWindow.postMessage({ __karmaMethod: method, __karmaArguments: args }, window.location.origin) | |
| } | |
| } | |
| // Export our module | |
| module.exports = ContextKarma | |
| },{"../common/stringify":1}],4:[function(require,module,exports){ | |
| // Load in our dependencies | |
| var ContextKarma = require('./karma') | |
| // Resolve our parent window | |
| var parentWindow = window.opener || window.parent | |
| // Define a remote call method for Karma | |
| var callParentKarmaMethod = ContextKarma.getDirectCallParentKarmaMethod(parentWindow) | |
| // If we don't have access to the window, then use `postMessage` | |
| // DEV: In Electron, we don't have access to the parent window due to it being in a separate process | |
| // DEV: We avoid using this in Internet Explorer as they only support strings | |
| // http://caniuse.com/#search=postmessage | |
| var haveParentAccess = false | |
| try { haveParentAccess = !!parentWindow.window } catch (err) { /* Ignore errors (likely permisison errors) */ } | |
| if (!haveParentAccess) { | |
| callParentKarmaMethod = ContextKarma.getPostMessageCallParentKarmaMethod(parentWindow) | |
| } | |
| // Define a window-scoped Karma | |
| window.__karma__ = new ContextKarma(callParentKarmaMethod) | |
| },{"./karma":3}],5:[function(require,module,exports){ | |
| /** | |
| * Module dependencies. | |
| */ | |
| var extend = require('extend'); | |
| var encode = require('ent/encode'); | |
| var CustomEvent = require('custom-event'); | |
| var voidElements = require('void-elements'); | |
| /** | |
| * Module exports. | |
| */ | |
| exports = module.exports = serialize; | |
| exports.serializeElement = serializeElement; | |
| exports.serializeAttribute = serializeAttribute; | |
| exports.serializeText = serializeText; | |
| exports.serializeComment = serializeComment; | |
| exports.serializeDocument = serializeDocument; | |
| exports.serializeDoctype = serializeDoctype; | |
| exports.serializeDocumentFragment = serializeDocumentFragment; | |
| exports.serializeNodeList = serializeNodeList; | |
| /** | |
| * Serializes any DOM node. Returns a string. | |
| * | |
| * @param {Node} node - DOM Node to serialize | |
| * @param {String} [context] - optional arbitrary "context" string to use (useful for event listeners) | |
| * @param {Function} [fn] - optional callback function to use in the "serialize" event for this call | |
| * @param {EventTarget} [eventTarget] - optional EventTarget instance to emit the "serialize" event on (defaults to `node`) | |
| * return {String} | |
| * @public | |
| */ | |
| function serialize (node, context, fn, eventTarget) { | |
| if (!node) return ''; | |
| if ('function' === typeof context) { | |
| fn = context; | |
| context = null; | |
| } | |
| if (!context) context = null; | |
| var rtn; | |
| var nodeType = node.nodeType; | |
| if (!nodeType && 'number' === typeof node.length) { | |
| // assume it's a NodeList or Array of Nodes | |
| rtn = exports.serializeNodeList(node, context, fn); | |
| } else { | |
| if ('function' === typeof fn) { | |
| // one-time "serialize" event listener | |
| node.addEventListener('serialize', fn, false); | |
| } | |
| // emit a custom "serialize" event on `node`, in case there | |
| // are event listeners for custom serialization of this node | |
| var e = new CustomEvent('serialize', { | |
| bubbles: true, | |
| cancelable: true, | |
| detail: { | |
| serialize: null, | |
| context: context | |
| } | |
| }); | |
| e.serializeTarget = node; | |
| var target = eventTarget || node; | |
| var cancelled = !target.dispatchEvent(e); | |
| // `e.detail.serialize` can be set to a: | |
| // String - returned directly | |
| // Node - goes through serializer logic instead of `node` | |
| // Anything else - get Stringified first, and then returned directly | |
| var s = e.detail.serialize; | |
| if (s != null) { | |
| if ('string' === typeof s) { | |
| rtn = s; | |
| } else if ('number' === typeof s.nodeType) { | |
| // make it go through the serialization logic | |
| rtn = serialize(s, context, null, target); | |
| } else { | |
| rtn = String(s); | |
| } | |
| } else if (!cancelled) { | |
| // default serialization logic | |
| switch (nodeType) { | |
| case 1 /* element */: | |
| rtn = exports.serializeElement(node, context, eventTarget); | |
| break; | |
| case 2 /* attribute */: | |
| rtn = exports.serializeAttribute(node); | |
| break; | |
| case 3 /* text */: | |
| rtn = exports.serializeText(node); | |
| break; | |
| case 8 /* comment */: | |
| rtn = exports.serializeComment(node); | |
| break; | |
| case 9 /* document */: | |
| rtn = exports.serializeDocument(node, context, eventTarget); | |
| break; | |
| case 10 /* doctype */: | |
| rtn = exports.serializeDoctype(node); | |
| break; | |
| case 11 /* document fragment */: | |
| rtn = exports.serializeDocumentFragment(node, context, eventTarget); | |
| break; | |
| } | |
| } | |
| if ('function' === typeof fn) { | |
| node.removeEventListener('serialize', fn, false); | |
| } | |
| } | |
| return rtn || ''; | |
| } | |
| /** | |
| * Serialize an Attribute node. | |
| */ | |
| function serializeAttribute (node, opts) { | |
| return node.name + '="' + encode(node.value, extend({ | |
| named: true | |
| }, opts)) + '"'; | |
| } | |
| /** | |
| * Serialize a DOM element. | |
| */ | |
| function serializeElement (node, context, eventTarget) { | |
| var c, i, l; | |
| var name = node.nodeName.toLowerCase(); | |
| // opening tag | |
| var r = '<' + name; | |
| // attributes | |
| for (i = 0, c = node.attributes, l = c.length; i < l; i++) { | |
| r += ' ' + exports.serializeAttribute(c[i]); | |
| } | |
| r += '>'; | |
| // child nodes | |
| r += exports.serializeNodeList(node.childNodes, context, null, eventTarget); | |
| // closing tag, only for non-void elements | |
| if (!voidElements[name]) { | |
| r += '</' + name + '>'; | |
| } | |
| return r; | |
| } | |
| /** | |
| * Serialize a text node. | |
| */ | |
| function serializeText (node, opts) { | |
| return encode(node.nodeValue, extend({ | |
| named: true, | |
| special: { '<': true, '>': true, '&': true } | |
| }, opts)); | |
| } | |
| /** | |
| * Serialize a comment node. | |
| */ | |
| function serializeComment (node) { | |
| return '<!--' + node.nodeValue + '-->'; | |
| } | |
| /** | |
| * Serialize a Document node. | |
| */ | |
| function serializeDocument (node, context, eventTarget) { | |
| return exports.serializeNodeList(node.childNodes, context, null, eventTarget); | |
| } | |
| /** | |
| * Serialize a DOCTYPE node. | |
| * See: http://stackoverflow.com/a/10162353 | |
| */ | |
| function serializeDoctype (node) { | |
| var r = '<!DOCTYPE ' + node.name; | |
| if (node.publicId) { | |
| r += ' PUBLIC "' + node.publicId + '"'; | |
| } | |
| if (!node.publicId && node.systemId) { | |
| r += ' SYSTEM'; | |
| } | |
| if (node.systemId) { | |
| r += ' "' + node.systemId + '"'; | |
| } | |
| r += '>'; | |
| return r; | |
| } | |
| /** | |
| * Serialize a DocumentFragment instance. | |
| */ | |
| function serializeDocumentFragment (node, context, eventTarget) { | |
| return exports.serializeNodeList(node.childNodes, context, null, eventTarget); | |
| } | |
| /** | |
| * Serialize a NodeList/Array of nodes. | |
| */ | |
| function serializeNodeList (list, context, fn, eventTarget) { | |
| var r = ''; | |
| for (var i = 0, l = list.length; i < l; i++) { | |
| r += serialize(list[i], context, fn, eventTarget); | |
| } | |
| return r; | |
| } | |
| },{"custom-event":6,"ent/encode":7,"extend":9,"void-elements":10}],6:[function(require,module,exports){ | |
| (function (global){ | |
| var NativeCustomEvent = global.CustomEvent; | |
| function useNative () { | |
| try { | |
| var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } }); | |
| return 'cat' === p.type && 'bar' === p.detail.foo; | |
| } catch (e) { | |
| } | |
| return false; | |
| } | |
| /** | |
| * Cross-browser `CustomEvent` constructor. | |
| * | |
| * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent | |
| * | |
| * @public | |
| */ | |
| module.exports = useNative() ? NativeCustomEvent : | |
| // IE >= 9 | |
| 'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) { | |
| var e = document.createEvent('CustomEvent'); | |
| if (params) { | |
| e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail); | |
| } else { | |
| e.initCustomEvent(type, false, false, void 0); | |
| } | |
| return e; | |
| } : | |
| // IE <= 8 | |
| function CustomEvent (type, params) { | |
| var e = document.createEventObject(); | |
| e.type = type; | |
| if (params) { | |
| e.bubbles = Boolean(params.bubbles); | |
| e.cancelable = Boolean(params.cancelable); | |
| e.detail = params.detail; | |
| } else { | |
| e.bubbles = false; | |
| e.cancelable = false; | |
| e.detail = void 0; | |
| } | |
| return e; | |
| } | |
| }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) | |
| },{}],7:[function(require,module,exports){ | |
| var punycode = require('punycode'); | |
| var revEntities = require('./reversed.json'); | |
| module.exports = encode; | |
| function encode (str, opts) { | |
| if (typeof str !== 'string') { | |
| throw new TypeError('Expected a String'); | |
| } | |
| if (!opts) opts = {}; | |
| var numeric = true; | |
| if (opts.named) numeric = false; | |
| if (opts.numeric !== undefined) numeric = opts.numeric; | |
| var special = opts.special || { | |
| '"': true, "'": true, | |
| '<': true, '>': true, | |
| '&': true | |
| }; | |
| var codePoints = punycode.ucs2.decode(str); | |
| var chars = []; | |
| for (var i = 0; i < codePoints.length; i++) { | |
| var cc = codePoints[i]; | |
| var c = punycode.ucs2.encode([ cc ]); | |
| var e = revEntities[cc]; | |
| if (e && (cc >= 127 || special[c]) && !numeric) { | |
| chars.push('&' + (/;$/.test(e) ? e : e + ';')); | |
| } | |
| else if (cc < 32 || cc >= 127 || special[c]) { | |
| chars.push('&#' + cc + ';'); | |
| } | |
| else { | |
| chars.push(c); | |
| } | |
| } | |
| return chars.join(''); | |
| } | |
| },{"./reversed.json":8,"punycode":11}],8:[function(require,module,exports){ | |
| module.exports={ | |
| "9": "Tab;", | |
| "10": "NewLine;", | |
| "33": "excl;", | |
| "34": "quot;", | |
| "35": "num;", | |
| "36": "dollar;", | |
| "37": "percnt;", | |
| "38": "amp;", | |
| "39": "apos;", | |
| "40": "lpar;", | |
| "41": "rpar;", | |
| "42": "midast;", | |
| "43": "plus;", | |
| "44": "comma;", | |
| "46": "period;", | |
| "47": "sol;", | |
| "58": "colon;", | |
| "59": "semi;", | |
| "60": "lt;", | |
| "61": "equals;", | |
| "62": "gt;", | |
| "63": "quest;", | |
| "64": "commat;", | |
| "91": "lsqb;", | |
| "92": "bsol;", | |
| "93": "rsqb;", | |
| "94": "Hat;", | |
| "95": "UnderBar;", | |
| "96": "grave;", | |
| "123": "lcub;", | |
| "124": "VerticalLine;", | |
| "125": "rcub;", | |
| "160": "NonBreakingSpace;", | |
| "161": "iexcl;", | |
| "162": "cent;", | |
| "163": "pound;", | |
| "164": "curren;", | |
| "165": "yen;", | |
| "166": "brvbar;", | |
| "167": "sect;", | |
| "168": "uml;", | |
| "169": "copy;", | |
| "170": "ordf;", | |
| "171": "laquo;", | |
| "172": "not;", | |
| "173": "shy;", | |
| "174": "reg;", | |
| "175": "strns;", | |
| "176": "deg;", | |
| "177": "pm;", | |
| "178": "sup2;", | |
| "179": "sup3;", | |
| "180": "DiacriticalAcute;", | |
| "181": "micro;", | |
| "182": "para;", | |
| "183": "middot;", | |
| "184": "Cedilla;", | |
| "185": "sup1;", | |
| "186": "ordm;", | |
| "187": "raquo;", | |
| "188": "frac14;", | |
| "189": "half;", | |
| "190": "frac34;", | |
| "191": "iquest;", | |
| "192": "Agrave;", | |
| "193": "Aacute;", | |
| "194": "Acirc;", | |
| "195": "Atilde;", | |
| "196": "Auml;", | |
| "197": "Aring;", | |
| "198": "AElig;", | |
| "199": "Ccedil;", | |
| "200": "Egrave;", | |
| "201": "Eacute;", | |
| "202": "Ecirc;", | |
| "203": "Euml;", | |
| "204": "Igrave;", | |
| "205": "Iacute;", | |
| "206": "Icirc;", | |
| "207": "Iuml;", | |
| "208": "ETH;", | |
| "209": "Ntilde;", | |
| "210": "Ograve;", | |
| "211": "Oacute;", | |
| "212": "Ocirc;", | |
| "213": "Otilde;", | |
| "214": "Ouml;", | |
| "215": "times;", | |
| "216": "Oslash;", | |
| "217": "Ugrave;", | |
| "218": "Uacute;", | |
| "219": "Ucirc;", | |
| "220": "Uuml;", | |
| "221": "Yacute;", | |
| "222": "THORN;", | |
| "223": "szlig;", | |
| "224": "agrave;", | |
| "225": "aacute;", | |
| "226": "acirc;", | |
| "227": "atilde;", | |
| "228": "auml;", | |
| "229": "aring;", | |
| "230": "aelig;", | |
| "231": "ccedil;", | |
| "232": "egrave;", | |
| "233": "eacute;", | |
| "234": "ecirc;", | |
| "235": "euml;", | |
| "236": "igrave;", | |
| "237": "iacute;", | |
| "238": "icirc;", | |
| "239": "iuml;", | |
| "240": "eth;", | |
| "241": "ntilde;", | |
| "242": "ograve;", | |
| "243": "oacute;", | |
| "244": "ocirc;", | |
| "245": "otilde;", | |
| "246": "ouml;", | |
| "247": "divide;", | |
| "248": "oslash;", | |
| "249": "ugrave;", | |
| "250": "uacute;", | |
| "251": "ucirc;", | |
| "252": "uuml;", | |
| "253": "yacute;", | |
| "254": "thorn;", | |
| "255": "yuml;", | |
| "256": "Amacr;", | |
| "257": "amacr;", | |
| "258": "Abreve;", | |
| "259": "abreve;", | |
| "260": "Aogon;", | |
| "261": "aogon;", | |
| "262": "Cacute;", | |
| "263": "cacute;", | |
| "264": "Ccirc;", | |
| "265": "ccirc;", | |
| "266": "Cdot;", | |
| "267": "cdot;", | |
| "268": "Ccaron;", | |
| "269": "ccaron;", | |
| "270": "Dcaron;", | |
| "271": "dcaron;", | |
| "272": "Dstrok;", | |
| "273": "dstrok;", | |
| "274": "Emacr;", | |
| "275": "emacr;", | |
| "278": "Edot;", | |
| "279": "edot;", | |
| "280": "Eogon;", | |
| "281": "eogon;", | |
| "282": "Ecaron;", | |
| "283": "ecaron;", | |
| "284": "Gcirc;", | |
| "285": "gcirc;", | |
| "286": "Gbreve;", | |
| "287": "gbreve;", | |
| "288": "Gdot;", | |
| "289": "gdot;", | |
| "290": "Gcedil;", | |
| "292": "Hcirc;", | |
| "293": "hcirc;", | |
| "294": "Hstrok;", | |
| "295": "hstrok;", | |
| "296": "Itilde;", | |
| "297": "itilde;", | |
| "298": "Imacr;", | |
| "299": "imacr;", | |
| "302": "Iogon;", | |
| "303": "iogon;", | |
| "304": "Idot;", | |
| "305": "inodot;", | |
| "306": "IJlig;", | |
| "307": "ijlig;", | |
| "308": "Jcirc;", | |
| "309": "jcirc;", | |
| "310": "Kcedil;", | |
| "311": "kcedil;", | |
| "312": "kgreen;", | |
| "313": "Lacute;", | |
| "314": "lacute;", | |
| "315": "Lcedil;", | |
| "316": "lcedil;", | |
| "317": "Lcaron;", | |
| "318": "lcaron;", | |
| "319": "Lmidot;", | |
| "320": "lmidot;", | |
| "321": "Lstrok;", | |
| "322": "lstrok;", | |
| "323": "Nacute;", | |
| "324": "nacute;", | |
| "325": "Ncedil;", | |
| "326": "ncedil;", | |
| "327": "Ncaron;", | |
| "328": "ncaron;", | |
| "329": "napos;", | |
| "330": "ENG;", | |
| "331": "eng;", | |
| "332": "Omacr;", | |
| "333": "omacr;", | |
| "336": "Odblac;", | |
| "337": "odblac;", | |
| "338": "OElig;", | |
| "339": "oelig;", | |
| "340": "Racute;", | |
| "341": "racute;", | |
| "342": "Rcedil;", | |
| "343": "rcedil;", | |
| "344": "Rcaron;", | |
| "345": "rcaron;", | |
| "346": "Sacute;", | |
| "347": "sacute;", | |
| "348": "Scirc;", | |
| "349": "scirc;", | |
| "350": "Scedil;", | |
| "351": "scedil;", | |
| "352": "Scaron;", | |
| "353": "scaron;", | |
| "354": "Tcedil;", | |
| "355": "tcedil;", | |
| "356": "Tcaron;", | |
| "357": "tcaron;", | |
| "358": "Tstrok;", | |
| "359": "tstrok;", | |
| "360": "Utilde;", | |
| "361": "utilde;", | |
| "362": "Umacr;", | |
| "363": "umacr;", | |
| "364": "Ubreve;", | |
| "365": "ubreve;", | |
| "366": "Uring;", | |
| "367": "uring;", | |
| "368": "Udblac;", | |
| "369": "udblac;", | |
| "370": "Uogon;", | |
| "371": "uogon;", | |
| "372": "Wcirc;", | |
| "373": "wcirc;", | |
| "374": "Ycirc;", | |
| "375": "ycirc;", | |
| "376": "Yuml;", | |
| "377": "Zacute;", | |
| "378": "zacute;", | |
| "379": "Zdot;", | |
| "380": "zdot;", | |
| "381": "Zcaron;", | |
| "382": "zcaron;", | |
| "402": "fnof;", | |
| "437": "imped;", | |
| "501": "gacute;", | |
| "567": "jmath;", | |
| "710": "circ;", | |
| "711": "Hacek;", | |
| "728": "breve;", | |
| "729": "dot;", | |
| "730": "ring;", | |
| "731": "ogon;", | |
| "732": "tilde;", | |
| "733": "DiacriticalDoubleAcute;", | |
| "785": "DownBreve;", | |
| "913": "Alpha;", | |
| "914": "Beta;", | |
| "915": "Gamma;", | |
| "916": "Delta;", | |
| "917": "Epsilon;", | |
| "918": "Zeta;", | |
| "919": "Eta;", | |
| "920": "Theta;", | |
| "921": "Iota;", | |
| "922": "Kappa;", | |
| "923": "Lambda;", | |
| "924": "Mu;", | |
| "925": "Nu;", | |
| "926": "Xi;", | |
| "927": "Omicron;", | |
| "928": "Pi;", | |
| "929": "Rho;", | |
| "931": "Sigma;", | |
| "932": "Tau;", | |
| "933": "Upsilon;", | |
| "934": "Phi;", | |
| "935": "Chi;", | |
| "936": "Psi;", | |
| "937": "Omega;", | |
| "945": "alpha;", | |
| "946": "beta;", | |
| "947": "gamma;", | |
| "948": "delta;", | |
| "949": "epsilon;", | |
| "950": "zeta;", | |
| "951": "eta;", | |
| "952": "theta;", | |
| "953": "iota;", | |
| "954": "kappa;", | |
| "955": "lambda;", | |
| "956": "mu;", | |
| "957": "nu;", | |
| "958": "xi;", | |
| "959": "omicron;", | |
| "960": "pi;", | |
| "961": "rho;", | |
| "962": "varsigma;", | |
| "963": "sigma;", | |
| "964": "tau;", | |
| "965": "upsilon;", | |
| "966": "phi;", | |
| "967": "chi;", | |
| "968": "psi;", | |
| "969": "omega;", | |
| "977": "vartheta;", | |
| "978": "upsih;", | |
| "981": "varphi;", | |
| "982": "varpi;", | |
| "988": "Gammad;", | |
| "989": "gammad;", | |
| "1008": "varkappa;", | |
| "1009": "varrho;", | |
| "1013": "varepsilon;", | |
| "1014": "bepsi;", | |
| "1025": "IOcy;", | |
| "1026": "DJcy;", | |
| "1027": "GJcy;", | |
| "1028": "Jukcy;", | |
| "1029": "DScy;", | |
| "1030": "Iukcy;", | |
| "1031": "YIcy;", | |
| "1032": "Jsercy;", | |
| "1033": "LJcy;", | |
| "1034": "NJcy;", | |
| "1035": "TSHcy;", | |
| "1036": "KJcy;", | |
| "1038": "Ubrcy;", | |
| "1039": "DZcy;", | |
| "1040": "Acy;", | |
| "1041": "Bcy;", | |
| "1042": "Vcy;", | |
| "1043": "Gcy;", | |
| "1044": "Dcy;", | |
| "1045": "IEcy;", | |
| "1046": "ZHcy;", | |
| "1047": "Zcy;", | |
| "1048": "Icy;", | |
| "1049": "Jcy;", | |
| "1050": "Kcy;", | |
| "1051": "Lcy;", | |
| "1052": "Mcy;", | |
| "1053": "Ncy;", | |
| "1054": "Ocy;", | |
| "1055": "Pcy;", | |
| "1056": "Rcy;", | |
| "1057": "Scy;", | |
| "1058": "Tcy;", | |
| "1059": "Ucy;", | |
| "1060": "Fcy;", | |
| "1061": "KHcy;", | |
| "1062": "TScy;", | |
| "1063": "CHcy;", | |
| "1064": "SHcy;", | |
| "1065": "SHCHcy;", | |
| "1066": "HARDcy;", | |
| "1067": "Ycy;", | |
| "1068": "SOFTcy;", | |
| "1069": "Ecy;", | |
| "1070": "YUcy;", | |
| "1071": "YAcy;", | |
| "1072": "acy;", | |
| "1073": "bcy;", | |
| "1074": "vcy;", | |
| "1075": "gcy;", | |
| "1076": "dcy;", | |
| "1077": "iecy;", | |
| "1078": "zhcy;", | |
| "1079": "zcy;", | |
| "1080": "icy;", | |
| "1081": "jcy;", | |
| "1082": "kcy;", | |
| "1083": "lcy;", | |
| "1084": "mcy;", | |
| "1085": "ncy;", | |
| "1086": "ocy;", | |
| "1087": "pcy;", | |
| "1088": "rcy;", | |
| "1089": "scy;", | |
| "1090": "tcy;", | |
| "1091": "ucy;", | |
| "1092": "fcy;", | |
| "1093": "khcy;", | |
| "1094": "tscy;", | |
| "1095": "chcy;", | |
| "1096": "shcy;", | |
| "1097": "shchcy;", | |
| "1098": "hardcy;", | |
| "1099": "ycy;", | |
| "1100": "softcy;", | |
| "1101": "ecy;", | |
| "1102": "yucy;", | |
| "1103": "yacy;", | |
| "1105": "iocy;", | |
| "1106": "djcy;", | |
| "1107": "gjcy;", | |
| "1108": "jukcy;", | |
| "1109": "dscy;", | |
| "1110": "iukcy;", | |
| "1111": "yicy;", | |
| "1112": "jsercy;", | |
| "1113": "ljcy;", | |
| "1114": "njcy;", | |
| "1115": "tshcy;", | |
| "1116": "kjcy;", | |
| "1118": "ubrcy;", | |
| "1119": "dzcy;", | |
| "8194": "ensp;", | |
| "8195": "emsp;", | |
| "8196": "emsp13;", | |
| "8197": "emsp14;", | |
| "8199": "numsp;", | |
| "8200": "puncsp;", | |
| "8201": "ThinSpace;", | |
| "8202": "VeryThinSpace;", | |
| "8203": "ZeroWidthSpace;", | |
| "8204": "zwnj;", | |
| "8205": "zwj;", | |
| "8206": "lrm;", | |
| "8207": "rlm;", | |
| "8208": "hyphen;", | |
| "8211": "ndash;", | |
| "8212": "mdash;", | |
| "8213": "horbar;", | |
| "8214": "Vert;", | |
| "8216": "OpenCurlyQuote;", | |
| "8217": "rsquor;", | |
| "8218": "sbquo;", | |
| "8220": "OpenCurlyDoubleQuote;", | |
| "8221": "rdquor;", | |
| "8222": "ldquor;", | |
| "8224": "dagger;", | |
| "8225": "ddagger;", | |
| "8226": "bullet;", | |
| "8229": "nldr;", | |
| "8230": "mldr;", | |
| "8240": "permil;", | |
| "8241": "pertenk;", | |
| "8242": "prime;", | |
| "8243": "Prime;", | |
| "8244": "tprime;", | |
| "8245": "bprime;", | |
| "8249": "lsaquo;", | |
| "8250": "rsaquo;", | |
| "8254": "OverBar;", | |
| "8257": "caret;", | |
| "8259": "hybull;", | |
| "8260": "frasl;", | |
| "8271": "bsemi;", | |
| "8279": "qprime;", | |
| "8287": "MediumSpace;", | |
| "8288": "NoBreak;", | |
| "8289": "ApplyFunction;", | |
| "8290": "it;", | |
| "8291": "InvisibleComma;", | |
| "8364": "euro;", | |
| "8411": "TripleDot;", | |
| "8412": "DotDot;", | |
| "8450": "Copf;", | |
| "8453": "incare;", | |
| "8458": "gscr;", | |
| "8459": "Hscr;", | |
| "8460": "Poincareplane;", | |
| "8461": "quaternions;", | |
| "8462": "planckh;", | |
| "8463": "plankv;", | |
| "8464": "Iscr;", | |
| "8465": "imagpart;", | |
| "8466": "Lscr;", | |
| "8467": "ell;", | |
| "8469": "Nopf;", | |
| "8470": "numero;", | |
| "8471": "copysr;", | |
| "8472": "wp;", | |
| "8473": "primes;", | |
| "8474": "rationals;", | |
| "8475": "Rscr;", | |
| "8476": "Rfr;", | |
| "8477": "Ropf;", | |
| "8478": "rx;", | |
| "8482": "trade;", | |
| "8484": "Zopf;", | |
| "8487": "mho;", | |
| "8488": "Zfr;", | |
| "8489": "iiota;", | |
| "8492": "Bscr;", | |
| "8493": "Cfr;", | |
| "8495": "escr;", | |
| "8496": "expectation;", | |
| "8497": "Fscr;", | |
| "8499": "phmmat;", | |
| "8500": "oscr;", | |
| "8501": "aleph;", | |
| "8502": "beth;", | |
| "8503": "gimel;", | |
| "8504": "daleth;", | |
| "8517": "DD;", | |
| "8518": "DifferentialD;", | |
| "8519": "exponentiale;", | |
| "8520": "ImaginaryI;", | |
| "8531": "frac13;", | |
| "8532": "frac23;", | |
| "8533": "frac15;", | |
| "8534": "frac25;", | |
| "8535": "frac35;", | |
| "8536": "frac45;", | |
| "8537": "frac16;", | |
| "8538": "frac56;", | |
| "8539": "frac18;", | |
| "8540": "frac38;", | |
| "8541": "frac58;", | |
| "8542": "frac78;", | |
| "8592": "slarr;", | |
| "8593": "uparrow;", | |
| "8594": "srarr;", | |
| "8595": "ShortDownArrow;", | |
| "8596": "leftrightarrow;", | |
| "8597": "varr;", | |
| "8598": "UpperLeftArrow;", | |
| "8599": "UpperRightArrow;", | |
| "8600": "searrow;", | |
| "8601": "swarrow;", | |
| "8602": "nleftarrow;", | |
| "8603": "nrightarrow;", | |
| "8605": "rightsquigarrow;", | |
| "8606": "twoheadleftarrow;", | |
| "8607": "Uarr;", | |
| "8608": "twoheadrightarrow;", | |
| "8609": "Darr;", | |
| "8610": "leftarrowtail;", | |
| "8611": "rightarrowtail;", | |
| "8612": "mapstoleft;", | |
| "8613": "UpTeeArrow;", | |
| "8614": "RightTeeArrow;", | |
| "8615": "mapstodown;", | |
| "8617": "larrhk;", | |
| "8618": "rarrhk;", | |
| "8619": "looparrowleft;", | |
| "8620": "rarrlp;", | |
| "8621": "leftrightsquigarrow;", | |
| "8622": "nleftrightarrow;", | |
| "8624": "lsh;", | |
| "8625": "rsh;", | |
| "8626": "ldsh;", | |
| "8627": "rdsh;", | |
| "8629": "crarr;", | |
| "8630": "curvearrowleft;", | |
| "8631": "curvearrowright;", | |
| "8634": "olarr;", | |
| "8635": "orarr;", | |
| "8636": "lharu;", | |
| "8637": "lhard;", | |
| "8638": "upharpoonright;", | |
| "8639": "upharpoonleft;", | |
| "8640": "RightVector;", | |
| "8641": "rightharpoondown;", | |
| "8642": "RightDownVector;", | |
| "8643": "LeftDownVector;", | |
| "8644": "rlarr;", | |
| "8645": "UpArrowDownArrow;", | |
| "8646": "lrarr;", | |
| "8647": "llarr;", | |
| "8648": "uuarr;", | |
| "8649": "rrarr;", | |
| "8650": "downdownarrows;", | |
| "8651": "ReverseEquilibrium;", | |
| "8652": "rlhar;", | |
| "8653": "nLeftarrow;", | |
| "8654": "nLeftrightarrow;", | |
| "8655": "nRightarrow;", | |
| "8656": "Leftarrow;", | |
| "8657": "Uparrow;", | |
| "8658": "Rightarrow;", | |
| "8659": "Downarrow;", | |
| "8660": "Leftrightarrow;", | |
| "8661": "vArr;", | |
| "8662": "nwArr;", | |
| "8663": "neArr;", | |
| "8664": "seArr;", | |
| "8665": "swArr;", | |
| "8666": "Lleftarrow;", | |
| "8667": "Rrightarrow;", | |
| "8669": "zigrarr;", | |
| "8676": "LeftArrowBar;", | |
| "8677": "RightArrowBar;", | |
| "8693": "duarr;", | |
| "8701": "loarr;", | |
| "8702": "roarr;", | |
| "8703": "hoarr;", | |
| "8704": "forall;", | |
| "8705": "complement;", | |
| "8706": "PartialD;", | |
| "8707": "Exists;", | |
| "8708": "NotExists;", | |
| "8709": "varnothing;", | |
| "8711": "nabla;", | |
| "8712": "isinv;", | |
| "8713": "notinva;", | |
| "8715": "SuchThat;", | |
| "8716": "NotReverseElement;", | |
| "8719": "Product;", | |
| "8720": "Coproduct;", | |
| "8721": "sum;", | |
| "8722": "minus;", | |
| "8723": "mp;", | |
| "8724": "plusdo;", | |
| "8726": "ssetmn;", | |
| "8727": "lowast;", | |
| "8728": "SmallCircle;", | |
| "8730": "Sqrt;", | |
| "8733": "vprop;", | |
| "8734": "infin;", | |
| "8735": "angrt;", | |
| "8736": "angle;", | |
| "8737": "measuredangle;", | |
| "8738": "angsph;", | |
| "8739": "VerticalBar;", | |
| "8740": "nsmid;", | |
| "8741": "spar;", | |
| "8742": "nspar;", | |
| "8743": "wedge;", | |
| "8744": "vee;", | |
| "8745": "cap;", | |
| "8746": "cup;", | |
| "8747": "Integral;", | |
| "8748": "Int;", | |
| "8749": "tint;", | |
| "8750": "oint;", | |
| "8751": "DoubleContourIntegral;", | |
| "8752": "Cconint;", | |
| "8753": "cwint;", | |
| "8754": "cwconint;", | |
| "8755": "CounterClockwiseContourIntegral;", | |
| "8756": "therefore;", | |
| "8757": "because;", | |
| "8758": "ratio;", | |
| "8759": "Proportion;", | |
| "8760": "minusd;", | |
| "8762": "mDDot;", | |
| "8763": "homtht;", | |
| "8764": "Tilde;", | |
| "8765": "bsim;", | |
| "8766": "mstpos;", | |
| "8767": "acd;", | |
| "8768": "wreath;", | |
| "8769": "nsim;", | |
| "8770": "esim;", | |
| "8771": "TildeEqual;", | |
| "8772": "nsimeq;", | |
| "8773": "TildeFullEqual;", | |
| "8774": "simne;", | |
| "8775": "NotTildeFullEqual;", | |
| "8776": "TildeTilde;", | |
| "8777": "NotTildeTilde;", | |
| "8778": "approxeq;", | |
| "8779": "apid;", | |
| "8780": "bcong;", | |
| "8781": "CupCap;", | |
| "8782": "HumpDownHump;", | |
| "8783": "HumpEqual;", | |
| "8784": "esdot;", | |
| "8785": "eDot;", | |
| "8786": "fallingdotseq;", | |
| "8787": "risingdotseq;", | |
| "8788": "coloneq;", | |
| "8789": "eqcolon;", | |
| "8790": "eqcirc;", | |
| "8791": "cire;", | |
| "8793": "wedgeq;", | |
| "8794": "veeeq;", | |
| "8796": "trie;", | |
| "8799": "questeq;", | |
| "8800": "NotEqual;", | |
| "8801": "equiv;", | |
| "8802": "NotCongruent;", | |
| "8804": "leq;", | |
| "8805": "GreaterEqual;", | |
| "8806": "LessFullEqual;", | |
| "8807": "GreaterFullEqual;", | |
| "8808": "lneqq;", | |
| "8809": "gneqq;", | |
| "8810": "NestedLessLess;", | |
| "8811": "NestedGreaterGreater;", | |
| "8812": "twixt;", | |
| "8813": "NotCupCap;", | |
| "8814": "NotLess;", | |
| "8815": "NotGreater;", | |
| "8816": "NotLessEqual;", | |
| "8817": "NotGreaterEqual;", | |
| "8818": "lsim;", | |
| "8819": "gtrsim;", | |
| "8820": "NotLessTilde;", | |
| "8821": "NotGreaterTilde;", | |
| "8822": "lg;", | |
| "8823": "gtrless;", | |
| "8824": "ntlg;", | |
| "8825": "ntgl;", | |
| "8826": "Precedes;", | |
| "8827": "Succeeds;", | |
| "8828": "PrecedesSlantEqual;", | |
| "8829": "SucceedsSlantEqual;", | |
| "8830": "prsim;", | |
| "8831": "succsim;", | |
| "8832": "nprec;", | |
| "8833": "nsucc;", | |
| "8834": "subset;", | |
| "8835": "supset;", | |
| "8836": "nsub;", | |
| "8837": "nsup;", | |
| "8838": "SubsetEqual;", | |
| "8839": "supseteq;", | |
| "8840": "nsubseteq;", | |
| "8841": "nsupseteq;", | |
| "8842": "subsetneq;", | |
| "8843": "supsetneq;", | |
| "8845": "cupdot;", | |
| "8846": "uplus;", | |
| "8847": "SquareSubset;", | |
| "8848": "SquareSuperset;", | |
| "8849": "SquareSubsetEqual;", | |
| "8850": "SquareSupersetEqual;", | |
| "8851": "SquareIntersection;", | |
| "8852": "SquareUnion;", | |
| "8853": "oplus;", | |
| "8854": "ominus;", | |
| "8855": "otimes;", | |
| "8856": "osol;", | |
| "8857": "odot;", | |
| "8858": "ocir;", | |
| "8859": "oast;", | |
| "8861": "odash;", | |
| "8862": "plusb;", | |
| "8863": "minusb;", | |
| "8864": "timesb;", | |
| "8865": "sdotb;", | |
| "8866": "vdash;", | |
| "8867": "LeftTee;", | |
| "8868": "top;", | |
| "8869": "UpTee;", | |
| "8871": "models;", | |
| "8872": "vDash;", | |
| "8873": "Vdash;", | |
| "8874": "Vvdash;", | |
| "8875": "VDash;", | |
| "8876": "nvdash;", | |
| "8877": "nvDash;", | |
| "8878": "nVdash;", | |
| "8879": "nVDash;", | |
| "8880": "prurel;", | |
| "8882": "vltri;", | |
| "8883": "vrtri;", | |
| "8884": "trianglelefteq;", | |
| "8885": "trianglerighteq;", | |
| "8886": "origof;", | |
| "8887": "imof;", | |
| "8888": "mumap;", | |
| "8889": "hercon;", | |
| "8890": "intercal;", | |
| "8891": "veebar;", | |
| "8893": "barvee;", | |
| "8894": "angrtvb;", | |
| "8895": "lrtri;", | |
| "8896": "xwedge;", | |
| "8897": "xvee;", | |
| "8898": "xcap;", | |
| "8899": "xcup;", | |
| "8900": "diamond;", | |
| "8901": "sdot;", | |
| "8902": "Star;", | |
| "8903": "divonx;", | |
| "8904": "bowtie;", | |
| "8905": "ltimes;", | |
| "8906": "rtimes;", | |
| "8907": "lthree;", | |
| "8908": "rthree;", | |
| "8909": "bsime;", | |
| "8910": "cuvee;", | |
| "8911": "cuwed;", | |
| "8912": "Subset;", | |
| "8913": "Supset;", | |
| "8914": "Cap;", | |
| "8915": "Cup;", | |
| "8916": "pitchfork;", | |
| "8917": "epar;", | |
| "8918": "ltdot;", | |
| "8919": "gtrdot;", | |
| "8920": "Ll;", | |
| "8921": "ggg;", | |
| "8922": "LessEqualGreater;", | |
| "8923": "gtreqless;", | |
| "8926": "curlyeqprec;", | |
| "8927": "curlyeqsucc;", | |
| "8928": "nprcue;", | |
| "8929": "nsccue;", | |
| "8930": "nsqsube;", | |
| "8931": "nsqsupe;", | |
| "8934": "lnsim;", | |
| "8935": "gnsim;", | |
| "8936": "prnsim;", | |
| "8937": "succnsim;", | |
| "8938": "ntriangleleft;", | |
| "8939": "ntriangleright;", | |
| "8940": "ntrianglelefteq;", | |
| "8941": "ntrianglerighteq;", | |
| "8942": "vellip;", | |
| "8943": "ctdot;", | |
| "8944": "utdot;", | |
| "8945": "dtdot;", | |
| "8946": "disin;", | |
| "8947": "isinsv;", | |
| "8948": "isins;", | |
| "8949": "isindot;", | |
| "8950": "notinvc;", | |
| "8951": "notinvb;", | |
| "8953": "isinE;", | |
| "8954": "nisd;", | |
| "8955": "xnis;", | |
| "8956": "nis;", | |
| "8957": "notnivc;", | |
| "8958": "notnivb;", | |
| "8965": "barwedge;", | |
| "8966": "doublebarwedge;", | |
| "8968": "LeftCeiling;", | |
| "8969": "RightCeiling;", | |
| "8970": "lfloor;", | |
| "8971": "RightFloor;", | |
| "8972": "drcrop;", | |
| "8973": "dlcrop;", | |
| "8974": "urcrop;", | |
| "8975": "ulcrop;", | |
| "8976": "bnot;", | |
| "8978": "profline;", | |
| "8979": "profsurf;", | |
| "8981": "telrec;", | |
| "8982": "target;", | |
| "8988": "ulcorner;", | |
| "8989": "urcorner;", | |
| "8990": "llcorner;", | |
| "8991": "lrcorner;", | |
| "8994": "sfrown;", | |
| "8995": "ssmile;", | |
| "9005": "cylcty;", | |
| "9006": "profalar;", | |
| "9014": "topbot;", | |
| "9021": "ovbar;", | |
| "9023": "solbar;", | |
| "9084": "angzarr;", | |
| "9136": "lmoustache;", | |
| "9137": "rmoustache;", | |
| "9140": "tbrk;", | |
| "9141": "UnderBracket;", | |
| "9142": "bbrktbrk;", | |
| "9180": "OverParenthesis;", | |
| "9181": "UnderParenthesis;", | |
| "9182": "OverBrace;", | |
| "9183": "UnderBrace;", | |
| "9186": "trpezium;", | |
| "9191": "elinters;", | |
| "9251": "blank;", | |
| "9416": "oS;", | |
| "9472": "HorizontalLine;", | |
| "9474": "boxv;", | |
| "9484": "boxdr;", | |
| "9488": "boxdl;", | |
| "9492": "boxur;", | |
| "9496": "boxul;", | |
| "9500": "boxvr;", | |
| "9508": "boxvl;", | |
| "9516": "boxhd;", | |
| "9524": "boxhu;", | |
| "9532": "boxvh;", | |
| "9552": "boxH;", | |
| "9553": "boxV;", | |
| "9554": "boxdR;", | |
| "9555": "boxDr;", | |
| "9556": "boxDR;", | |
| "9557": "boxdL;", | |
| "9558": "boxDl;", | |
| "9559": "boxDL;", | |
| "9560": "boxuR;", | |
| "9561": "boxUr;", | |
| "9562": "boxUR;", | |
| "9563": "boxuL;", | |
| "9564": "boxUl;", | |
| "9565": "boxUL;", | |
| "9566": "boxvR;", | |
| "9567": "boxVr;", | |
| "9568": "boxVR;", | |
| "9569": "boxvL;", | |
| "9570": "boxVl;", | |
| "9571": "boxVL;", | |
| "9572": "boxHd;", | |
| "9573": "boxhD;", | |
| "9574": "boxHD;", | |
| "9575": "boxHu;", | |
| "9576": "boxhU;", | |
| "9577": "boxHU;", | |
| "9578": "boxvH;", | |
| "9579": "boxVh;", | |
| "9580": "boxVH;", | |
| "9600": "uhblk;", | |
| "9604": "lhblk;", | |
| "9608": "block;", | |
| "9617": "blk14;", | |
| "9618": "blk12;", | |
| "9619": "blk34;", | |
| "9633": "square;", | |
| "9642": "squf;", | |
| "9643": "EmptyVerySmallSquare;", | |
| "9645": "rect;", | |
| "9646": "marker;", | |
| "9649": "fltns;", | |
| "9651": "xutri;", | |
| "9652": "utrif;", | |
| "9653": "utri;", | |
| "9656": "rtrif;", | |
| "9657": "triangleright;", | |
| "9661": "xdtri;", | |
| "9662": "dtrif;", | |
| "9663": "triangledown;", | |
| "9666": "ltrif;", | |
| "9667": "triangleleft;", | |
| "9674": "lozenge;", | |
| "9675": "cir;", | |
| "9708": "tridot;", | |
| "9711": "xcirc;", | |
| "9720": "ultri;", | |
| "9721": "urtri;", | |
| "9722": "lltri;", | |
| "9723": "EmptySmallSquare;", | |
| "9724": "FilledSmallSquare;", | |
| "9733": "starf;", | |
| "9734": "star;", | |
| "9742": "phone;", | |
| "9792": "female;", | |
| "9794": "male;", | |
| "9824": "spadesuit;", | |
| "9827": "clubsuit;", | |
| "9829": "heartsuit;", | |
| "9830": "diams;", | |
| "9834": "sung;", | |
| "9837": "flat;", | |
| "9838": "natural;", | |
| "9839": "sharp;", | |
| "10003": "checkmark;", | |
| "10007": "cross;", | |
| "10016": "maltese;", | |
| "10038": "sext;", | |
| "10072": "VerticalSeparator;", | |
| "10098": "lbbrk;", | |
| "10099": "rbbrk;", | |
| "10184": "bsolhsub;", | |
| "10185": "suphsol;", | |
| "10214": "lobrk;", | |
| "10215": "robrk;", | |
| "10216": "LeftAngleBracket;", | |
| "10217": "RightAngleBracket;", | |
| "10218": "Lang;", | |
| "10219": "Rang;", | |
| "10220": "loang;", | |
| "10221": "roang;", | |
| "10229": "xlarr;", | |
| "10230": "xrarr;", | |
| "10231": "xharr;", | |
| "10232": "xlArr;", | |
| "10233": "xrArr;", | |
| "10234": "xhArr;", | |
| "10236": "xmap;", | |
| "10239": "dzigrarr;", | |
| "10498": "nvlArr;", | |
| "10499": "nvrArr;", | |
| "10500": "nvHarr;", | |
| "10501": "Map;", | |
| "10508": "lbarr;", | |
| "10509": "rbarr;", | |
| "10510": "lBarr;", | |
| "10511": "rBarr;", | |
| "10512": "RBarr;", | |
| "10513": "DDotrahd;", | |
| "10514": "UpArrowBar;", | |
| "10515": "DownArrowBar;", | |
| "10518": "Rarrtl;", | |
| "10521": "latail;", | |
| "10522": "ratail;", | |
| "10523": "lAtail;", | |
| "10524": "rAtail;", | |
| "10525": "larrfs;", | |
| "10526": "rarrfs;", | |
| "10527": "larrbfs;", | |
| "10528": "rarrbfs;", | |
| "10531": "nwarhk;", | |
| "10532": "nearhk;", | |
| "10533": "searhk;", | |
| "10534": "swarhk;", | |
| "10535": "nwnear;", | |
| "10536": "toea;", | |
| "10537": "tosa;", | |
| "10538": "swnwar;", | |
| "10547": "rarrc;", | |
| "10549": "cudarrr;", | |
| "10550": "ldca;", | |
| "10551": "rdca;", | |
| "10552": "cudarrl;", | |
| "10553": "larrpl;", | |
| "10556": "curarrm;", | |
| "10557": "cularrp;", | |
| "10565": "rarrpl;", | |
| "10568": "harrcir;", | |
| "10569": "Uarrocir;", | |
| "10570": "lurdshar;", | |
| "10571": "ldrushar;", | |
| "10574": "LeftRightVector;", | |
| "10575": "RightUpDownVector;", | |
| "10576": "DownLeftRightVector;", | |
| "10577": "LeftUpDownVector;", | |
| "10578": "LeftVectorBar;", | |
| "10579": "RightVectorBar;", | |
| "10580": "RightUpVectorBar;", | |
| "10581": "RightDownVectorBar;", | |
| "10582": "DownLeftVectorBar;", | |
| "10583": "DownRightVectorBar;", | |
| "10584": "LeftUpVectorBar;", | |
| "10585": "LeftDownVectorBar;", | |
| "10586": "LeftTeeVector;", | |
| "10587": "RightTeeVector;", | |
| "10588": "RightUpTeeVector;", | |
| "10589": "RightDownTeeVector;", | |
| "10590": "DownLeftTeeVector;", | |
| "10591": "DownRightTeeVector;", | |
| "10592": "LeftUpTeeVector;", | |
| "10593": "LeftDownTeeVector;", | |
| "10594": "lHar;", | |
| "10595": "uHar;", | |
| "10596": "rHar;", | |
| "10597": "dHar;", | |
| "10598": "luruhar;", | |
| "10599": "ldrdhar;", | |
| "10600": "ruluhar;", | |
| "10601": "rdldhar;", | |
| "10602": "lharul;", | |
| "10603": "llhard;", | |
| "10604": "rharul;", | |
| "10605": "lrhard;", | |
| "10606": "UpEquilibrium;", | |
| "10607": "ReverseUpEquilibrium;", | |
| "10608": "RoundImplies;", | |
| "10609": "erarr;", | |
| "10610": "simrarr;", | |
| "10611": "larrsim;", | |
| "10612": "rarrsim;", | |
| "10613": "rarrap;", | |
| "10614": "ltlarr;", | |
| "10616": "gtrarr;", | |
| "10617": "subrarr;", | |
| "10619": "suplarr;", | |
| "10620": "lfisht;", | |
| "10621": "rfisht;", | |
| "10622": "ufisht;", | |
| "10623": "dfisht;", | |
| "10629": "lopar;", | |
| "10630": "ropar;", | |
| "10635": "lbrke;", | |
| "10636": "rbrke;", | |
| "10637": "lbrkslu;", | |
| "10638": "rbrksld;", | |
| "10639": "lbrksld;", | |
| "10640": "rbrkslu;", | |
| "10641": "langd;", | |
| "10642": "rangd;", | |
| "10643": "lparlt;", | |
| "10644": "rpargt;", | |
| "10645": "gtlPar;", | |
| "10646": "ltrPar;", | |
| "10650": "vzigzag;", | |
| "10652": "vangrt;", | |
| "10653": "angrtvbd;", | |
| "10660": "ange;", | |
| "10661": "range;", | |
| "10662": "dwangle;", | |
| "10663": "uwangle;", | |
| "10664": "angmsdaa;", | |
| "10665": "angmsdab;", | |
| "10666": "angmsdac;", | |
| "10667": "angmsdad;", | |
| "10668": "angmsdae;", | |
| "10669": "angmsdaf;", | |
| "10670": "angmsdag;", | |
| "10671": "angmsdah;", | |
| "10672": "bemptyv;", | |
| "10673": "demptyv;", | |
| "10674": "cemptyv;", | |
| "10675": "raemptyv;", | |
| "10676": "laemptyv;", | |
| "10677": "ohbar;", | |
| "10678": "omid;", | |
| "10679": "opar;", | |
| "10681": "operp;", | |
| "10683": "olcross;", | |
| "10684": "odsold;", | |
| "10686": "olcir;", | |
| "10687": "ofcir;", | |
| "10688": "olt;", | |
| "10689": "ogt;", | |
| "10690": "cirscir;", | |
| "10691": "cirE;", | |
| "10692": "solb;", | |
| "10693": "bsolb;", | |
| "10697": "boxbox;", | |
| "10701": "trisb;", | |
| "10702": "rtriltri;", | |
| "10703": "LeftTriangleBar;", | |
| "10704": "RightTriangleBar;", | |
| "10716": "iinfin;", | |
| "10717": "infintie;", | |
| "10718": "nvinfin;", | |
| "10723": "eparsl;", | |
| "10724": "smeparsl;", | |
| "10725": "eqvparsl;", | |
| "10731": "lozf;", | |
| "10740": "RuleDelayed;", | |
| "10742": "dsol;", | |
| "10752": "xodot;", | |
| "10753": "xoplus;", | |
| "10754": "xotime;", | |
| "10756": "xuplus;", | |
| "10758": "xsqcup;", | |
| "10764": "qint;", | |
| "10765": "fpartint;", | |
| "10768": "cirfnint;", | |
| "10769": "awint;", | |
| "10770": "rppolint;", | |
| "10771": "scpolint;", | |
| "10772": "npolint;", | |
| "10773": "pointint;", | |
| "10774": "quatint;", | |
| "10775": "intlarhk;", | |
| "10786": "pluscir;", | |
| "10787": "plusacir;", | |
| "10788": "simplus;", | |
| "10789": "plusdu;", | |
| "10790": "plussim;", | |
| "10791": "plustwo;", | |
| "10793": "mcomma;", | |
| "10794": "minusdu;", | |
| "10797": "loplus;", | |
| "10798": "roplus;", | |
| "10799": "Cross;", | |
| "10800": "timesd;", | |
| "10801": "timesbar;", | |
| "10803": "smashp;", | |
| "10804": "lotimes;", | |
| "10805": "rotimes;", | |
| "10806": "otimesas;", | |
| "10807": "Otimes;", | |
| "10808": "odiv;", | |
| "10809": "triplus;", | |
| "10810": "triminus;", | |
| "10811": "tritime;", | |
| "10812": "iprod;", | |
| "10815": "amalg;", | |
| "10816": "capdot;", | |
| "10818": "ncup;", | |
| "10819": "ncap;", | |
| "10820": "capand;", | |
| "10821": "cupor;", | |
| "10822": "cupcap;", | |
| "10823": "capcup;", | |
| "10824": "cupbrcap;", | |
| "10825": "capbrcup;", | |
| "10826": "cupcup;", | |
| "10827": "capcap;", | |
| "10828": "ccups;", | |
| "10829": "ccaps;", | |
| "10832": "ccupssm;", | |
| "10835": "And;", | |
| "10836": "Or;", | |
| "10837": "andand;", | |
| "10838": "oror;", | |
| "10839": "orslope;", | |
| "10840": "andslope;", | |
| "10842": "andv;", | |
| "10843": "orv;", | |
| "10844": "andd;", | |
| "10845": "ord;", | |
| "10847": "wedbar;", | |
| "10854": "sdote;", | |
| "10858": "simdot;", | |
| "10861": "congdot;", | |
| "10862": "easter;", | |
| "10863": "apacir;", | |
| "10864": "apE;", | |
| "10865": "eplus;", | |
| "10866": "pluse;", | |
| "10867": "Esim;", | |
| "10868": "Colone;", | |
| "10869": "Equal;", | |
| "10871": "eDDot;", | |
| "10872": "equivDD;", | |
| "10873": "ltcir;", | |
| "10874": "gtcir;", | |
| "10875": "ltquest;", | |
| "10876": "gtquest;", | |
| "10877": "LessSlantEqual;", | |
| "10878": "GreaterSlantEqual;", | |
| "10879": "lesdot;", | |
| "10880": "gesdot;", | |
| "10881": "lesdoto;", | |
| "10882": "gesdoto;", | |
| "10883": "lesdotor;", | |
| "10884": "gesdotol;", | |
| "10885": "lessapprox;", | |
| "10886": "gtrapprox;", | |
| "10887": "lneq;", | |
| "10888": "gneq;", | |
| "10889": "lnapprox;", | |
| "10890": "gnapprox;", | |
| "10891": "lesseqqgtr;", | |
| "10892": "gtreqqless;", | |
| "10893": "lsime;", | |
| "10894": "gsime;", | |
| "10895": "lsimg;", | |
| "10896": "gsiml;", | |
| "10897": "lgE;", | |
| "10898": "glE;", | |
| "10899": "lesges;", | |
| "10900": "gesles;", | |
| "10901": "eqslantless;", | |
| "10902": "eqslantgtr;", | |
| "10903": "elsdot;", | |
| "10904": "egsdot;", | |
| "10905": "el;", | |
| "10906": "eg;", | |
| "10909": "siml;", | |
| "10910": "simg;", | |
| "10911": "simlE;", | |
| "10912": "simgE;", | |
| "10913": "LessLess;", | |
| "10914": "GreaterGreater;", | |
| "10916": "glj;", | |
| "10917": "gla;", | |
| "10918": "ltcc;", | |
| "10919": "gtcc;", | |
| "10920": "lescc;", | |
| "10921": "gescc;", | |
| "10922": "smt;", | |
| "10923": "lat;", | |
| "10924": "smte;", | |
| "10925": "late;", | |
| "10926": "bumpE;", | |
| "10927": "preceq;", | |
| "10928": "succeq;", | |
| "10931": "prE;", | |
| "10932": "scE;", | |
| "10933": "prnE;", | |
| "10934": "succneqq;", | |
| "10935": "precapprox;", | |
| "10936": "succapprox;", | |
| "10937": "prnap;", | |
| "10938": "succnapprox;", | |
| "10939": "Pr;", | |
| "10940": "Sc;", | |
| "10941": "subdot;", | |
| "10942": "supdot;", | |
| "10943": "subplus;", | |
| "10944": "supplus;", | |
| "10945": "submult;", | |
| "10946": "supmult;", | |
| "10947": "subedot;", | |
| "10948": "supedot;", | |
| "10949": "subseteqq;", | |
| "10950": "supseteqq;", | |
| "10951": "subsim;", | |
| "10952": "supsim;", | |
| "10955": "subsetneqq;", | |
| "10956": "supsetneqq;", | |
| "10959": "csub;", | |
| "10960": "csup;", | |
| "10961": "csube;", | |
| "10962": "csupe;", | |
| "10963": "subsup;", | |
| "10964": "supsub;", | |
| "10965": "subsub;", | |
| "10966": "supsup;", | |
| "10967": "suphsub;", | |
| "10968": "supdsub;", | |
| "10969": "forkv;", | |
| "10970": "topfork;", | |
| "10971": "mlcp;", | |
| "10980": "DoubleLeftTee;", | |
| "10982": "Vdashl;", | |
| "10983": "Barv;", | |
| "10984": "vBar;", | |
| "10985": "vBarv;", | |
| "10987": "Vbar;", | |
| "10988": "Not;", | |
| "10989": "bNot;", | |
| "10990": "rnmid;", | |
| "10991": "cirmid;", | |
| "10992": "midcir;", | |
| "10993": "topcir;", | |
| "10994": "nhpar;", | |
| "10995": "parsim;", | |
| "11005": "parsl;", | |
| "64256": "fflig;", | |
| "64257": "filig;", | |
| "64258": "fllig;", | |
| "64259": "ffilig;", | |
| "64260": "ffllig;" | |
| } | |
| },{}],9:[function(require,module,exports){ | |
| 'use strict'; | |
| var hasOwn = Object.prototype.hasOwnProperty; | |
| var toStr = Object.prototype.toString; | |
| var defineProperty = Object.defineProperty; | |
| var gOPD = Object.getOwnPropertyDescriptor; | |
| var isArray = function isArray(arr) { | |
| if (typeof Array.isArray === 'function') { | |
| return Array.isArray(arr); | |
| } | |
| return toStr.call(arr) === '[object Array]'; | |
| }; | |
| var isPlainObject = function isPlainObject(obj) { | |
| if (!obj || toStr.call(obj) !== '[object Object]') { | |
| return false; | |
| } | |
| var hasOwnConstructor = hasOwn.call(obj, 'constructor'); | |
| var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); | |
| // Not own constructor property must be Object | |
| if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { | |
| return false; | |
| } | |
| // Own properties are enumerated firstly, so to speed up, | |
| // if last one is own, then all properties are own. | |
| var key; | |
| for (key in obj) { /**/ } | |
| return typeof key === 'undefined' || hasOwn.call(obj, key); | |
| }; | |
| // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target | |
| var setProperty = function setProperty(target, options) { | |
| if (defineProperty && options.name === '__proto__') { | |
| defineProperty(target, options.name, { | |
| enumerable: true, | |
| configurable: true, | |
| value: options.newValue, | |
| writable: true | |
| }); | |
| } else { | |
| target[options.name] = options.newValue; | |
| } | |
| }; | |
| // Return undefined instead of __proto__ if '__proto__' is not an own property | |
| var getProperty = function getProperty(obj, name) { | |
| if (name === '__proto__') { | |
| if (!hasOwn.call(obj, name)) { | |
| return void 0; | |
| } else if (gOPD) { | |
| // In early versions of node, obj['__proto__'] is buggy when obj has | |
| // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. | |
| return gOPD(obj, name).value; | |
| } | |
| } | |
| return obj[name]; | |
| }; | |
| module.exports = function extend() { | |
| var options, name, src, copy, copyIsArray, clone; | |
| var target = arguments[0]; | |
| var i = 1; | |
| var length = arguments.length; | |
| var deep = false; | |
| // Handle a deep copy situation | |
| if (typeof target === 'boolean') { | |
| deep = target; | |
| target = arguments[1] || {}; | |
| // skip the boolean and the target | |
| i = 2; | |
| } | |
| if (target == null || (typeof target !== 'object' && typeof target !== 'function')) { | |
| target = {}; | |
| } | |
| for (; i < length; ++i) { | |
| options = arguments[i]; | |
| // Only deal with non-null/undefined values | |
| if (options != null) { | |
| // Extend the base object | |
| for (name in options) { | |
| src = getProperty(target, name); | |
| copy = getProperty(options, name); | |
| // Prevent never-ending loop | |
| if (target !== copy) { | |
| // Recurse if we're merging plain objects or arrays | |
| if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { | |
| if (copyIsArray) { | |
| copyIsArray = false; | |
| clone = src && isArray(src) ? src : []; | |
| } else { | |
| clone = src && isPlainObject(src) ? src : {}; | |
| } | |
| // Never move original objects, clone them | |
| setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); | |
| // Don't bring in undefined values | |
| } else if (typeof copy !== 'undefined') { | |
| setProperty(target, { name: name, newValue: copy }); | |
| } | |
| } | |
| } | |
| } | |
| } | |
| // Return the modified object | |
| return target; | |
| }; | |
| },{}],10:[function(require,module,exports){ | |
| /** | |
| * This file automatically generated from `pre-publish.js`. | |
| * Do not manually edit. | |
| */ | |
| module.exports = { | |
| "area": true, | |
| "base": true, | |
| "br": true, | |
| "col": true, | |
| "embed": true, | |
| "hr": true, | |
| "img": true, | |
| "input": true, | |
| "keygen": true, | |
| "link": true, | |
| "menuitem": true, | |
| "meta": true, | |
| "param": true, | |
| "source": true, | |
| "track": true, | |
| "wbr": true | |
| }; | |
| },{}],11:[function(require,module,exports){ | |
| (function (global){ | |
| /*! https://mths.be/punycode v1.4.1 by @mathias */ | |
| ;(function(root) { | |
| /** Detect free variables */ | |
| var freeExports = typeof exports == 'object' && exports && | |
| !exports.nodeType && exports; | |
| var freeModule = typeof module == 'object' && module && | |
| !module.nodeType && module; | |
| var freeGlobal = typeof global == 'object' && global; | |
| if ( | |
| freeGlobal.global === freeGlobal || | |
| freeGlobal.window === freeGlobal || | |
| freeGlobal.self === freeGlobal | |
| ) { | |
| root = freeGlobal; | |
| } | |
| /** | |
| * The `punycode` object. | |
| * @name punycode | |
| * @type Object | |
| */ | |
| var punycode, | |
| /** Highest positive signed 32-bit float value */ | |
| maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1 | |
| /** Bootstring parameters */ | |
| base = 36, | |
| tMin = 1, | |
| tMax = 26, | |
| skew = 38, | |
| damp = 700, | |
| initialBias = 72, | |
| initialN = 128, // 0x80 | |
| delimiter = '-', // '\x2D' | |
| /** Regular expressions */ | |
| regexPunycode = /^xn--/, | |
| regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars | |
| regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators | |
| /** Error messages */ | |
| errors = { | |
| 'overflow': 'Overflow: input needs wider integers to process', | |
| 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', | |
| 'invalid-input': 'Invalid input' | |
| }, | |
| /** Convenience shortcuts */ | |
| baseMinusTMin = base - tMin, | |
| floor = Math.floor, | |
| stringFromCharCode = String.fromCharCode, | |
| /** Temporary variable */ | |
| key; | |
| /*--------------------------------------------------------------------------*/ | |
| /** | |
| * A generic error utility function. | |
| * @private | |
| * @param {String} type The error type. | |
| * @returns {Error} Throws a `RangeError` with the applicable error message. | |
| */ | |
| function error(type) { | |
| throw new RangeError(errors[type]); | |
| } | |
| /** | |
| * A generic `Array#map` utility function. | |
| * @private | |
| * @param {Array} array The array to iterate over. | |
| * @param {Function} callback The function that gets called for every array | |
| * item. | |
| * @returns {Array} A new array of values returned by the callback function. | |
| */ | |
| function map(array, fn) { | |
| var length = array.length; | |
| var result = []; | |
| while (length--) { | |
| result[length] = fn(array[length]); | |
| } | |
| return result; | |
| } | |
| /** | |
| * A simple `Array#map`-like wrapper to work with domain name strings or email | |
| * addresses. | |
| * @private | |
| * @param {String} domain The domain name or email address. | |
| * @param {Function} callback The function that gets called for every | |
| * character. | |
| * @returns {Array} A new string of characters returned by the callback | |
| * function. | |
| */ | |
| function mapDomain(string, fn) { | |
| var parts = string.split('@'); | |
| var result = ''; | |
| if (parts.length > 1) { | |
| // In email addresses, only the domain name should be punycoded. Leave | |
| // the local part (i.e. everything up to `@`) intact. | |
| result = parts[0] + '@'; | |
| string = parts[1]; | |
| } | |
| // Avoid `split(regex)` for IE8 compatibility. See #17. | |
| string = string.replace(regexSeparators, '\x2E'); | |
| var labels = string.split('.'); | |
| var encoded = map(labels, fn).join('.'); | |
| return result + encoded; | |
| } | |
| /** | |
| * Creates an array containing the numeric code points of each Unicode | |
| * character in the string. While JavaScript uses UCS-2 internally, | |
| * this function will convert a pair of surrogate halves (each of which | |
| * UCS-2 exposes as separate characters) into a single code point, | |
| * matching UTF-16. | |
| * @see `punycode.ucs2.encode` | |
| * @see <https://mathiasbynens.be/notes/javascript-encoding> | |
| * @memberOf punycode.ucs2 | |
| * @name decode | |
| * @param {String} string The Unicode input string (UCS-2). | |
| * @returns {Array} The new array of code points. | |
| */ | |
| function ucs2decode(string) { | |
| var output = [], | |
| counter = 0, | |
| length = string.length, | |
| value, | |
| extra; | |
| while (counter < length) { | |
| value = string.charCodeAt(counter++); | |
| if (value >= 0xD800 && value <= 0xDBFF && counter < length) { | |
| // high surrogate, and there is a next character | |
| extra = string.charCodeAt(counter++); | |
| if ((extra & 0xFC00) == 0xDC00) { // low surrogate | |
| output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); | |
| } else { | |
| // unmatched surrogate; only append this code unit, in case the next | |
| // code unit is the high surrogate of a surrogate pair | |
| output.push(value); | |
| counter--; | |
| } | |
| } else { | |
| output.push(value); | |
| } | |
| } | |
| return output; | |
| } | |
| /** | |
| * Creates a string based on an array of numeric code points. | |
| * @see `punycode.ucs2.decode` | |
| * @memberOf punycode.ucs2 | |
| * @name encode | |
| * @param {Array} codePoints The array of numeric code points. | |
| * @returns {String} The new Unicode string (UCS-2). | |
| */ | |
| function ucs2encode(array) { | |
| return map(array, function(value) { | |
| var output = ''; | |
| if (value > 0xFFFF) { | |
| value -= 0x10000; | |
| output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800); | |
| value = 0xDC00 | value & 0x3FF; | |
| } | |
| output += stringFromCharCode(value); | |
| return output; | |
| }).join(''); | |
| } | |
| /** | |
| * Converts a basic code point into a digit/integer. | |
| * @see `digitToBasic()` | |
| * @private | |
| * @param {Number} codePoint The basic numeric code point value. | |
| * @returns {Number} The numeric value of a basic code point (for use in | |
| * representing integers) in the range `0` to `base - 1`, or `base` if | |
| * the code point does not represent a value. | |
| */ | |
| function basicToDigit(codePoint) { | |
| if (codePoint - 48 < 10) { | |
| return codePoint - 22; | |
| } | |
| if (codePoint - 65 < 26) { | |
| return codePoint - 65; | |
| } | |
| if (codePoint - 97 < 26) { | |
| return codePoint - 97; | |
| } | |
| return base; | |
| } | |
| /** | |
| * Converts a digit/integer into a basic code point. | |
| * @see `basicToDigit()` | |
| * @private | |
| * @param {Number} digit The numeric value of a basic code point. | |
| * @returns {Number} The basic code point whose value (when used for | |
| * representing integers) is `digit`, which needs to be in the range | |
| * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is | |
| * used; else, the lowercase form is used. The behavior is undefined | |
| * if `flag` is non-zero and `digit` has no uppercase form. | |
| */ | |
| function digitToBasic(digit, flag) { | |
| // 0..25 map to ASCII a..z or A..Z | |
| // 26..35 map to ASCII 0..9 | |
| return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); | |
| } | |
| /** | |
| * Bias adaptation function as per section 3.4 of RFC 3492. | |
| * https://tools.ietf.org/html/rfc3492#section-3.4 | |
| * @private | |
| */ | |
| function adapt(delta, numPoints, firstTime) { | |
| var k = 0; | |
| delta = firstTime ? floor(delta / damp) : delta >> 1; | |
| delta += floor(delta / numPoints); | |
| for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) { | |
| delta = floor(delta / baseMinusTMin); | |
| } | |
| return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); | |
| } | |
| /** | |
| * Converts a Punycode string of ASCII-only symbols to a string of Unicode | |
| * symbols. | |
| * @memberOf punycode | |
| * @param {String} input The Punycode string of ASCII-only symbols. | |
| * @returns {String} The resulting string of Unicode symbols. | |
| */ | |
| function decode(input) { | |
| // Don't use UCS-2 | |
| var output = [], | |
| inputLength = input.length, | |
| out, | |
| i = 0, | |
| n = initialN, | |
| bias = initialBias, | |
| basic, | |
| j, | |
| index, | |
| oldi, | |
| w, | |
| k, | |
| digit, | |
| t, | |
| /** Cached calculation results */ | |
| baseMinusT; | |
| // Handle the basic code points: let `basic` be the number of input code | |
| // points before the last delimiter, or `0` if there is none, then copy | |
| // the first basic code points to the output. | |
| basic = input.lastIndexOf(delimiter); | |
| if (basic < 0) { | |
| basic = 0; | |
| } | |
| for (j = 0; j < basic; ++j) { | |
| // if it's not a basic code point | |
| if (input.charCodeAt(j) >= 0x80) { | |
| error('not-basic'); | |
| } | |
| output.push(input.charCodeAt(j)); | |
| } | |
| // Main decoding loop: start just after the last delimiter if any basic code | |
| // points were copied; start at the beginning otherwise. | |
| for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) { | |
| // `index` is the index of the next character to be consumed. | |
| // Decode a generalized variable-length integer into `delta`, | |
| // which gets added to `i`. The overflow checking is easier | |
| // if we increase `i` as we go, then subtract off its starting | |
| // value at the end to obtain `delta`. | |
| for (oldi = i, w = 1, k = base; /* no condition */; k += base) { | |
| if (index >= inputLength) { | |
| error('invalid-input'); | |
| } | |
| digit = basicToDigit(input.charCodeAt(index++)); | |
| if (digit >= base || digit > floor((maxInt - i) / w)) { | |
| error('overflow'); | |
| } | |
| i += digit * w; | |
| t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); | |
| if (digit < t) { | |
| break; | |
| } | |
| baseMinusT = base - t; | |
| if (w > floor(maxInt / baseMinusT)) { | |
| error('overflow'); | |
| } | |
| w *= baseMinusT; | |
| } | |
| out = output.length + 1; | |
| bias = adapt(i - oldi, out, oldi == 0); | |
| // `i` was supposed to wrap around from `out` to `0`, | |
| // incrementing `n` each time, so we'll fix that now: | |
| if (floor(i / out) > maxInt - n) { | |
| error('overflow'); | |
| } | |
| n += floor(i / out); | |
| i %= out; | |
| // Insert `n` at position `i` of the output | |
| output.splice(i++, 0, n); | |
| } | |
| return ucs2encode(output); | |
| } | |
| /** | |
| * Converts a string of Unicode symbols (e.g. a domain name label) to a | |
| * Punycode string of ASCII-only symbols. | |
| * @memberOf punycode | |
| * @param {String} input The string of Unicode symbols. | |
| * @returns {String} The resulting Punycode string of ASCII-only symbols. | |
| */ | |
| function encode(input) { | |
| var n, | |
| delta, | |
| handledCPCount, | |
| basicLength, | |
| bias, | |
| j, | |
| m, | |
| q, | |
| k, | |
| t, | |
| currentValue, | |
| output = [], | |
| /** `inputLength` will hold the number of code points in `input`. */ | |
| inputLength, | |
| /** Cached calculation results */ | |
| handledCPCountPlusOne, | |
| baseMinusT, | |
| qMinusT; | |
| // Convert the input in UCS-2 to Unicode | |
| input = ucs2decode(input); | |
| // Cache the length | |
| inputLength = input.length; | |
| // Initialize the state | |
| n = initialN; | |
| delta = 0; | |
| bias = initialBias; | |
| // Handle the basic code points | |
| for (j = 0; j < inputLength; ++j) { | |
| currentValue = input[j]; | |
| if (currentValue < 0x80) { | |
| output.push(stringFromCharCode(currentValue)); | |
| } | |
| } | |
| handledCPCount = basicLength = output.length; | |
| // `handledCPCount` is the number of code points that have been handled; | |
| // `basicLength` is the number of basic code points. | |
| // Finish the basic string - if it is not empty - with a delimiter | |
| if (basicLength) { | |
| output.push(delimiter); | |
| } | |
| // Main encoding loop: | |
| while (handledCPCount < inputLength) { | |
| // All non-basic code points < n have been handled already. Find the next | |
| // larger one: | |
| for (m = maxInt, j = 0; j < inputLength; ++j) { | |
| currentValue = input[j]; | |
| if (currentValue >= n && currentValue < m) { | |
| m = currentValue; | |
| } | |
| } | |
| // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, | |
| // but guard against overflow | |
| handledCPCountPlusOne = handledCPCount + 1; | |
| if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { | |
| error('overflow'); | |
| } | |
| delta += (m - n) * handledCPCountPlusOne; | |
| n = m; | |
| for (j = 0; j < inputLength; ++j) { | |
| currentValue = input[j]; | |
| if (currentValue < n && ++delta > maxInt) { | |
| error('overflow'); | |
| } | |
| if (currentValue == n) { | |
| // Represent delta as a generalized variable-length integer | |
| for (q = delta, k = base; /* no condition */; k += base) { | |
| t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); | |
| if (q < t) { | |
| break; | |
| } | |
| qMinusT = q - t; | |
| baseMinusT = base - t; | |
| output.push( | |
| stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)) | |
| ); | |
| q = floor(qMinusT / baseMinusT); | |
| } | |
| output.push(stringFromCharCode(digitToBasic(q, 0))); | |
| bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); | |
| delta = 0; | |
| ++handledCPCount; | |
| } | |
| } | |
| ++delta; | |
| ++n; | |
| } | |
| return output.join(''); | |
| } | |
| /** | |
| * Converts a Punycode string representing a domain name or an email address | |
| * to Unicode. Only the Punycoded parts of the input will be converted, i.e. | |
| * it doesn't matter if you call it on a string that has already been | |
| * converted to Unicode. | |
| * @memberOf punycode | |
| * @param {String} input The Punycoded domain name or email address to | |
| * convert to Unicode. | |
| * @returns {String} The Unicode representation of the given Punycode | |
| * string. | |
| */ | |
| function toUnicode(input) { | |
| return mapDomain(input, function(string) { | |
| return regexPunycode.test(string) | |
| ? decode(string.slice(4).toLowerCase()) | |
| : string; | |
| }); | |
| } | |
| /** | |
| * Converts a Unicode string representing a domain name or an email address to | |
| * Punycode. Only the non-ASCII parts of the domain name will be converted, | |
| * i.e. it doesn't matter if you call it with a domain that's already in | |
| * ASCII. | |
| * @memberOf punycode | |
| * @param {String} input The domain name or email address to convert, as a | |
| * Unicode string. | |
| * @returns {String} The Punycode representation of the given domain name or | |
| * email address. | |
| */ | |
| function toASCII(input) { | |
| return mapDomain(input, function(string) { | |
| return regexNonASCII.test(string) | |
| ? 'xn--' + encode(string) | |
| : string; | |
| }); | |
| } | |
| /*--------------------------------------------------------------------------*/ | |
| /** Define the public API */ | |
| punycode = { | |
| /** | |
| * A string representing the current Punycode.js version number. | |
| * @memberOf punycode | |
| * @type String | |
| */ | |
| 'version': '1.4.1', | |
| /** | |
| * An object of methods to convert from JavaScript's internal character | |
| * representation (UCS-2) to Unicode code points, and back. | |
| * @see <https://mathiasbynens.be/notes/javascript-encoding> | |
| * @memberOf punycode | |
| * @type Object | |
| */ | |
| 'ucs2': { | |
| 'decode': ucs2decode, | |
| 'encode': ucs2encode | |
| }, | |
| 'decode': decode, | |
| 'encode': encode, | |
| 'toASCII': toASCII, | |
| 'toUnicode': toUnicode | |
| }; | |
| /** Expose `punycode` */ | |
| // Some AMD build optimizers, like r.js, check for specific condition patterns | |
| // like the following: | |
| if ( | |
| typeof define == 'function' && | |
| typeof define.amd == 'object' && | |
| define.amd | |
| ) { | |
| define('punycode', function() { | |
| return punycode; | |
| }); | |
| } else if (freeExports && freeModule) { | |
| if (module.exports == freeExports) { | |
| // in Node.js, io.js, or RingoJS v0.8.0+ | |
| freeModule.exports = punycode; | |
| } else { | |
| // in Narwhal or RingoJS v0.7.0- | |
| for (key in punycode) { | |
| punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]); | |
| } | |
| } | |
| } else { | |
| // in Rhino or a web browser | |
| root.punycode = punycode; | |
| } | |
| }(this)); | |
| }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) | |
| },{}]},{},[4]); |