UNPKG

67.5 kBJavaScriptView Raw
1(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){
2var serialize = null
3try {
4 serialize = require('dom-serialize')
5} catch (e) {
6 // Ignore failure on IE8
7}
8
9var instanceOf = require('./util').instanceOf
10
11function isNode (obj) {
12 return (obj.tagName || obj.nodeName) && obj.nodeType
13}
14
15function stringify (obj, depth) {
16 if (depth === 0) {
17 return '...'
18 }
19
20 if (obj === null) {
21 return 'null'
22 }
23
24 switch (typeof obj) {
25 case 'symbol':
26 return obj.toString()
27 case 'string':
28 return "'" + obj + "'"
29 case 'undefined':
30 return 'undefined'
31 case 'function':
32 try {
33 // function abc(a, b, c) { /* code goes here */ }
34 // -> function abc(a, b, c) { ... }
35 return obj.toString().replace(/\{[\s\S]*\}/, '{ ... }')
36 } catch (err) {
37 if (err instanceof TypeError) {
38 // Support older browsers
39 return 'function ' + (obj.name || '') + '() { ... }'
40 } else {
41 throw err
42 }
43 }
44 case 'boolean':
45 return obj ? 'true' : 'false'
46 case 'object':
47 var strs = []
48 if (instanceOf(obj, 'Array')) {
49 strs.push('[')
50 for (var i = 0, ii = obj.length; i < ii; i++) {
51 if (i) {
52 strs.push(', ')
53 }
54 strs.push(stringify(obj[i], depth - 1))
55 }
56 strs.push(']')
57 } else if (instanceOf(obj, 'Date')) {
58 return obj.toString()
59 } else if (instanceOf(obj, 'Text')) {
60 return obj.nodeValue
61 } else if (instanceOf(obj, 'Comment')) {
62 return '<!--' + obj.nodeValue + '-->'
63 } else if (obj.outerHTML) {
64 return obj.outerHTML
65 } else if (isNode(obj)) {
66 if (serialize) {
67 return serialize(obj)
68 } else {
69 return 'Skipping stringify, no support for dom-serialize'
70 }
71 } else if (instanceOf(obj, 'Error')) {
72 return obj.toString() + '\n' + obj.stack
73 } else {
74 var constructor = 'Object'
75 if (obj.constructor && typeof obj.constructor === 'function') {
76 constructor = obj.constructor.name
77 }
78
79 strs.push(constructor)
80 strs.push('{')
81 var first = true
82 for (var key in obj) {
83 if (Object.prototype.hasOwnProperty.call(obj, key)) {
84 if (first) {
85 first = false
86 } else {
87 strs.push(', ')
88 }
89
90 strs.push(key + ': ' + stringify(obj[key], depth - 1))
91 }
92 }
93 strs.push('}')
94 }
95 return strs.join('')
96 default:
97 return obj
98 }
99}
100
101module.exports = stringify
102
103},{"./util":2,"dom-serialize":6}],2:[function(require,module,exports){
104exports.instanceOf = function (value, constructorName) {
105 return Object.prototype.toString.apply(value) === '[object ' + constructorName + ']'
106}
107
108exports.elm = function (id) {
109 return document.getElementById(id)
110}
111
112exports.generateId = function (prefix) {
113 return prefix + Math.floor(Math.random() * 10000)
114}
115
116exports.isUndefined = function (value) {
117 return typeof value === 'undefined'
118}
119
120exports.isDefined = function (value) {
121 return !exports.isUndefined(value)
122}
123
124exports.parseQueryParams = function (locationSearch) {
125 var params = {}
126 var pairs = locationSearch.substr(1).split('&')
127 var keyValue
128
129 for (var i = 0; i < pairs.length; i++) {
130 keyValue = pairs[i].split('=')
131 params[decodeURIComponent(keyValue[0])] = decodeURIComponent(keyValue[1])
132 }
133
134 return params
135}
136
137},{}],3:[function(require,module,exports){
138// Load our dependencies
139var stringify = require('../common/stringify')
140
141// Define our context Karma constructor
142function ContextKarma (callParentKarmaMethod) {
143 // Define local variables
144 var hasError = false
145 var self = this
146 var isLoaded = false
147
148 // Define our loggers
149 // DEV: These are intentionally repeated in client and context
150 this.log = function (type, args) {
151 var values = []
152
153 for (var i = 0; i < args.length; i++) {
154 values.push(this.stringify(args[i], 3))
155 }
156
157 this.info({ log: values.join(', '), type: type })
158 }
159
160 this.stringify = stringify
161
162 // Define our proxy error handler
163 // DEV: We require one in our context to track `hasError`
164 this.error = function () {
165 hasError = true
166 callParentKarmaMethod('error', [].slice.call(arguments))
167 return false
168 }
169
170 // Define our start handler
171 function UNIMPLEMENTED_START () {
172 this.error('You need to include some adapter that implements __karma__.start method!')
173 }
174 // all files loaded, let's start the execution
175 this.loaded = function () {
176 // has error -> cancel
177 if (!hasError && !isLoaded) {
178 isLoaded = true
179 try {
180 this.start(this.config)
181 } catch (error) {
182 this.error(error.stack || error.toString())
183 }
184 }
185
186 // remove reference to child iframe
187 this.start = UNIMPLEMENTED_START
188 }
189 // supposed to be overridden by the context
190 // TODO(vojta): support multiple callbacks (queue)
191 this.start = UNIMPLEMENTED_START
192
193 // Define proxy methods
194 // DEV: This is a closured `for` loop (same as a `forEach`) for IE support
195 var proxyMethods = ['complete', 'info', 'result']
196 for (var i = 0; i < proxyMethods.length; i++) {
197 (function bindProxyMethod (methodName) {
198 self[methodName] = function boundProxyMethod () {
199 callParentKarmaMethod(methodName, [].slice.call(arguments))
200 }
201 }(proxyMethods[i]))
202 }
203
204 // Define bindings for context window
205 this.setupContext = function (contextWindow) {
206 // If we clear the context after every run and we already had an error
207 // then stop now. Otherwise, carry on.
208 if (self.config.clearContext && hasError) {
209 return
210 }
211
212 // Perform window level bindings
213 // DEV: We return `self.error` since we want to `return false` to ignore errors
214 contextWindow.onerror = function () {
215 return self.error.apply(self, arguments)
216 }
217 // DEV: We must defined a function since we don't want to pass the event object
218 contextWindow.onbeforeunload = function (e, b) {
219 callParentKarmaMethod('onbeforeunload', [])
220 }
221
222 contextWindow.dump = function () {
223 self.log('dump', arguments)
224 }
225
226 var _confirm = contextWindow.confirm
227 var _prompt = contextWindow.prompt
228
229 contextWindow.alert = function (msg) {
230 self.log('alert', [msg])
231 }
232
233 contextWindow.confirm = function (msg) {
234 self.log('confirm', [msg])
235 return _confirm(msg)
236 }
237
238 contextWindow.prompt = function (msg, defaultVal) {
239 self.log('prompt', [msg, defaultVal])
240 return _prompt(msg, defaultVal)
241 }
242
243 // If we want to overload our console, then do it
244 function getConsole (currentWindow) {
245 return currentWindow.console || {
246 log: function () {},
247 info: function () {},
248 warn: function () {},
249 error: function () {},
250 debug: function () {}
251 }
252 }
253 if (self.config.captureConsole) {
254 // patch the console
255 var localConsole = contextWindow.console = getConsole(contextWindow)
256 var logMethods = ['log', 'info', 'warn', 'error', 'debug']
257 var patchConsoleMethod = function (method) {
258 var orig = localConsole[method]
259 if (!orig) {
260 return
261 }
262 localConsole[method] = function () {
263 self.log(method, arguments)
264 try {
265 return Function.prototype.apply.call(orig, localConsole, arguments)
266 } catch (error) {
267 self.log('warn', ['Console method ' + method + ' threw: ' + error])
268 }
269 }
270 }
271 for (var i = 0; i < logMethods.length; i++) {
272 patchConsoleMethod(logMethods[i])
273 }
274 }
275 }
276}
277
278// Define call/proxy methods
279ContextKarma.getDirectCallParentKarmaMethod = function (parentWindow) {
280 return function directCallParentKarmaMethod (method, args) {
281 // If the method doesn't exist, then error out
282 if (!parentWindow.karma[method]) {
283 parentWindow.karma.error('Expected Karma method "' + method + '" to exist but it doesn\'t')
284 return
285 }
286
287 // Otherwise, run our method
288 parentWindow.karma[method].apply(parentWindow.karma, args)
289 }
290}
291ContextKarma.getPostMessageCallParentKarmaMethod = function (parentWindow) {
292 return function postMessageCallParentKarmaMethod (method, args) {
293 parentWindow.postMessage({ __karmaMethod: method, __karmaArguments: args }, window.location.origin)
294 }
295}
296
297// Export our module
298module.exports = ContextKarma
299
300},{"../common/stringify":1}],4:[function(require,module,exports){
301// Load in our dependencies
302var ContextKarma = require('./karma')
303
304// Resolve our parent window
305var parentWindow = window.opener || window.parent
306
307// Define a remote call method for Karma
308var callParentKarmaMethod = ContextKarma.getDirectCallParentKarmaMethod(parentWindow)
309
310// If we don't have access to the window, then use `postMessage`
311// DEV: In Electron, we don't have access to the parent window due to it being in a separate process
312// DEV: We avoid using this in Internet Explorer as they only support strings
313// http://caniuse.com/#search=postmessage
314var haveParentAccess = false
315try { haveParentAccess = !!parentWindow.window } catch (err) { /* Ignore errors (likely permisison errors) */ }
316if (!haveParentAccess) {
317 callParentKarmaMethod = ContextKarma.getPostMessageCallParentKarmaMethod(parentWindow)
318}
319
320// Define a window-scoped Karma
321window.__karma__ = new ContextKarma(callParentKarmaMethod)
322
323},{"./karma":3}],5:[function(require,module,exports){
324(function (global){
325
326var NativeCustomEvent = global.CustomEvent;
327
328function useNative () {
329 try {
330 var p = new NativeCustomEvent('cat', { detail: { foo: 'bar' } });
331 return 'cat' === p.type && 'bar' === p.detail.foo;
332 } catch (e) {
333 }
334 return false;
335}
336
337/**
338 * Cross-browser `CustomEvent` constructor.
339 *
340 * https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent.CustomEvent
341 *
342 * @public
343 */
344
345module.exports = useNative() ? NativeCustomEvent :
346
347// IE >= 9
348'undefined' !== typeof document && 'function' === typeof document.createEvent ? function CustomEvent (type, params) {
349 var e = document.createEvent('CustomEvent');
350 if (params) {
351 e.initCustomEvent(type, params.bubbles, params.cancelable, params.detail);
352 } else {
353 e.initCustomEvent(type, false, false, void 0);
354 }
355 return e;
356} :
357
358// IE <= 8
359function CustomEvent (type, params) {
360 var e = document.createEventObject();
361 e.type = type;
362 if (params) {
363 e.bubbles = Boolean(params.bubbles);
364 e.cancelable = Boolean(params.cancelable);
365 e.detail = params.detail;
366 } else {
367 e.bubbles = false;
368 e.cancelable = false;
369 e.detail = void 0;
370 }
371 return e;
372}
373
374}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
375},{}],6:[function(require,module,exports){
376
377/**
378 * Module dependencies.
379 */
380
381var extend = require('extend');
382var encode = require('ent/encode');
383var CustomEvent = require('custom-event');
384var voidElements = require('void-elements');
385
386/**
387 * Module exports.
388 */
389
390exports = module.exports = serialize;
391exports.serializeElement = serializeElement;
392exports.serializeAttribute = serializeAttribute;
393exports.serializeText = serializeText;
394exports.serializeComment = serializeComment;
395exports.serializeDocument = serializeDocument;
396exports.serializeDoctype = serializeDoctype;
397exports.serializeDocumentFragment = serializeDocumentFragment;
398exports.serializeNodeList = serializeNodeList;
399
400/**
401 * Serializes any DOM node. Returns a string.
402 *
403 * @param {Node} node - DOM Node to serialize
404 * @param {String} [context] - optional arbitrary "context" string to use (useful for event listeners)
405 * @param {Function} [fn] - optional callback function to use in the "serialize" event for this call
406 * @param {EventTarget} [eventTarget] - optional EventTarget instance to emit the "serialize" event on (defaults to `node`)
407 * return {String}
408 * @public
409 */
410
411function serialize (node, context, fn, eventTarget) {
412 if (!node) return '';
413 if ('function' === typeof context) {
414 fn = context;
415 context = null;
416 }
417 if (!context) context = null;
418
419 var rtn;
420 var nodeType = node.nodeType;
421
422 if (!nodeType && 'number' === typeof node.length) {
423 // assume it's a NodeList or Array of Nodes
424 rtn = exports.serializeNodeList(node, context, fn);
425 } else {
426
427 if ('function' === typeof fn) {
428 // one-time "serialize" event listener
429 node.addEventListener('serialize', fn, false);
430 }
431
432 // emit a custom "serialize" event on `node`, in case there
433 // are event listeners for custom serialization of this node
434 var e = new CustomEvent('serialize', {
435 bubbles: true,
436 cancelable: true,
437 detail: {
438 serialize: null,
439 context: context
440 }
441 });
442
443 e.serializeTarget = node;
444
445 var target = eventTarget || node;
446 var cancelled = !target.dispatchEvent(e);
447
448 // `e.detail.serialize` can be set to a:
449 // String - returned directly
450 // Node - goes through serializer logic instead of `node`
451 // Anything else - get Stringified first, and then returned directly
452 var s = e.detail.serialize;
453 if (s != null) {
454 if ('string' === typeof s) {
455 rtn = s;
456 } else if ('number' === typeof s.nodeType) {
457 // make it go through the serialization logic
458 rtn = serialize(s, context, null, target);
459 } else {
460 rtn = String(s);
461 }
462 } else if (!cancelled) {
463 // default serialization logic
464 switch (nodeType) {
465 case 1 /* element */:
466 rtn = exports.serializeElement(node, context, eventTarget);
467 break;
468 case 2 /* attribute */:
469 rtn = exports.serializeAttribute(node);
470 break;
471 case 3 /* text */:
472 rtn = exports.serializeText(node);
473 break;
474 case 8 /* comment */:
475 rtn = exports.serializeComment(node);
476 break;
477 case 9 /* document */:
478 rtn = exports.serializeDocument(node, context, eventTarget);
479 break;
480 case 10 /* doctype */:
481 rtn = exports.serializeDoctype(node);
482 break;
483 case 11 /* document fragment */:
484 rtn = exports.serializeDocumentFragment(node, context, eventTarget);
485 break;
486 }
487 }
488
489 if ('function' === typeof fn) {
490 node.removeEventListener('serialize', fn, false);
491 }
492 }
493
494 return rtn || '';
495}
496
497/**
498 * Serialize an Attribute node.
499 */
500
501function serializeAttribute (node, opts) {
502 return node.name + '="' + encode(node.value, extend({
503 named: true
504 }, opts)) + '"';
505}
506
507/**
508 * Serialize a DOM element.
509 */
510
511function serializeElement (node, context, eventTarget) {
512 var c, i, l;
513 var name = node.nodeName.toLowerCase();
514
515 // opening tag
516 var r = '<' + name;
517
518 // attributes
519 for (i = 0, c = node.attributes, l = c.length; i < l; i++) {
520 r += ' ' + exports.serializeAttribute(c[i]);
521 }
522
523 r += '>';
524
525 // child nodes
526 r += exports.serializeNodeList(node.childNodes, context, null, eventTarget);
527
528 // closing tag, only for non-void elements
529 if (!voidElements[name]) {
530 r += '</' + name + '>';
531 }
532
533 return r;
534}
535
536/**
537 * Serialize a text node.
538 */
539
540function serializeText (node, opts) {
541 return encode(node.nodeValue, extend({
542 named: true,
543 special: { '<': true, '>': true, '&': true }
544 }, opts));
545}
546
547/**
548 * Serialize a comment node.
549 */
550
551function serializeComment (node) {
552 return '<!--' + node.nodeValue + '-->';
553}
554
555/**
556 * Serialize a Document node.
557 */
558
559function serializeDocument (node, context, eventTarget) {
560 return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
561}
562
563/**
564 * Serialize a DOCTYPE node.
565 * See: http://stackoverflow.com/a/10162353
566 */
567
568function serializeDoctype (node) {
569 var r = '<!DOCTYPE ' + node.name;
570
571 if (node.publicId) {
572 r += ' PUBLIC "' + node.publicId + '"';
573 }
574
575 if (!node.publicId && node.systemId) {
576 r += ' SYSTEM';
577 }
578
579 if (node.systemId) {
580 r += ' "' + node.systemId + '"';
581 }
582
583 r += '>';
584 return r;
585}
586
587/**
588 * Serialize a DocumentFragment instance.
589 */
590
591function serializeDocumentFragment (node, context, eventTarget) {
592 return exports.serializeNodeList(node.childNodes, context, null, eventTarget);
593}
594
595/**
596 * Serialize a NodeList/Array of nodes.
597 */
598
599function serializeNodeList (list, context, fn, eventTarget) {
600 var r = '';
601 for (var i = 0, l = list.length; i < l; i++) {
602 r += serialize(list[i], context, fn, eventTarget);
603 }
604 return r;
605}
606
607},{"custom-event":5,"ent/encode":7,"extend":9,"void-elements":11}],7:[function(require,module,exports){
608var punycode = require('punycode');
609var revEntities = require('./reversed.json');
610
611module.exports = encode;
612
613function encode (str, opts) {
614 if (typeof str !== 'string') {
615 throw new TypeError('Expected a String');
616 }
617 if (!opts) opts = {};
618
619 var numeric = true;
620 if (opts.named) numeric = false;
621 if (opts.numeric !== undefined) numeric = opts.numeric;
622
623 var special = opts.special || {
624 '"': true, "'": true,
625 '<': true, '>': true,
626 '&': true
627 };
628
629 var codePoints = punycode.ucs2.decode(str);
630 var chars = [];
631 for (var i = 0; i < codePoints.length; i++) {
632 var cc = codePoints[i];
633 var c = punycode.ucs2.encode([ cc ]);
634 var e = revEntities[cc];
635 if (e && (cc >= 127 || special[c]) && !numeric) {
636 chars.push('&' + (/;$/.test(e) ? e : e + ';'));
637 }
638 else if (cc < 32 || cc >= 127 || special[c]) {
639 chars.push('&#' + cc + ';');
640 }
641 else {
642 chars.push(c);
643 }
644 }
645 return chars.join('');
646}
647
648},{"./reversed.json":8,"punycode":10}],8:[function(require,module,exports){
649module.exports={
650 "9": "Tab;",
651 "10": "NewLine;",
652 "33": "excl;",
653 "34": "quot;",
654 "35": "num;",
655 "36": "dollar;",
656 "37": "percnt;",
657 "38": "amp;",
658 "39": "apos;",
659 "40": "lpar;",
660 "41": "rpar;",
661 "42": "midast;",
662 "43": "plus;",
663 "44": "comma;",
664 "46": "period;",
665 "47": "sol;",
666 "58": "colon;",
667 "59": "semi;",
668 "60": "lt;",
669 "61": "equals;",
670 "62": "gt;",
671 "63": "quest;",
672 "64": "commat;",
673 "91": "lsqb;",
674 "92": "bsol;",
675 "93": "rsqb;",
676 "94": "Hat;",
677 "95": "UnderBar;",
678 "96": "grave;",
679 "123": "lcub;",
680 "124": "VerticalLine;",
681 "125": "rcub;",
682 "160": "NonBreakingSpace;",
683 "161": "iexcl;",
684 "162": "cent;",
685 "163": "pound;",
686 "164": "curren;",
687 "165": "yen;",
688 "166": "brvbar;",
689 "167": "sect;",
690 "168": "uml;",
691 "169": "copy;",
692 "170": "ordf;",
693 "171": "laquo;",
694 "172": "not;",
695 "173": "shy;",
696 "174": "reg;",
697 "175": "strns;",
698 "176": "deg;",
699 "177": "pm;",
700 "178": "sup2;",
701 "179": "sup3;",
702 "180": "DiacriticalAcute;",
703 "181": "micro;",
704 "182": "para;",
705 "183": "middot;",
706 "184": "Cedilla;",
707 "185": "sup1;",
708 "186": "ordm;",
709 "187": "raquo;",
710 "188": "frac14;",
711 "189": "half;",
712 "190": "frac34;",
713 "191": "iquest;",
714 "192": "Agrave;",
715 "193": "Aacute;",
716 "194": "Acirc;",
717 "195": "Atilde;",
718 "196": "Auml;",
719 "197": "Aring;",
720 "198": "AElig;",
721 "199": "Ccedil;",
722 "200": "Egrave;",
723 "201": "Eacute;",
724 "202": "Ecirc;",
725 "203": "Euml;",
726 "204": "Igrave;",
727 "205": "Iacute;",
728 "206": "Icirc;",
729 "207": "Iuml;",
730 "208": "ETH;",
731 "209": "Ntilde;",
732 "210": "Ograve;",
733 "211": "Oacute;",
734 "212": "Ocirc;",
735 "213": "Otilde;",
736 "214": "Ouml;",
737 "215": "times;",
738 "216": "Oslash;",
739 "217": "Ugrave;",
740 "218": "Uacute;",
741 "219": "Ucirc;",
742 "220": "Uuml;",
743 "221": "Yacute;",
744 "222": "THORN;",
745 "223": "szlig;",
746 "224": "agrave;",
747 "225": "aacute;",
748 "226": "acirc;",
749 "227": "atilde;",
750 "228": "auml;",
751 "229": "aring;",
752 "230": "aelig;",
753 "231": "ccedil;",
754 "232": "egrave;",
755 "233": "eacute;",
756 "234": "ecirc;",
757 "235": "euml;",
758 "236": "igrave;",
759 "237": "iacute;",
760 "238": "icirc;",
761 "239": "iuml;",
762 "240": "eth;",
763 "241": "ntilde;",
764 "242": "ograve;",
765 "243": "oacute;",
766 "244": "ocirc;",
767 "245": "otilde;",
768 "246": "ouml;",
769 "247": "divide;",
770 "248": "oslash;",
771 "249": "ugrave;",
772 "250": "uacute;",
773 "251": "ucirc;",
774 "252": "uuml;",
775 "253": "yacute;",
776 "254": "thorn;",
777 "255": "yuml;",
778 "256": "Amacr;",
779 "257": "amacr;",
780 "258": "Abreve;",
781 "259": "abreve;",
782 "260": "Aogon;",
783 "261": "aogon;",
784 "262": "Cacute;",
785 "263": "cacute;",
786 "264": "Ccirc;",
787 "265": "ccirc;",
788 "266": "Cdot;",
789 "267": "cdot;",
790 "268": "Ccaron;",
791 "269": "ccaron;",
792 "270": "Dcaron;",
793 "271": "dcaron;",
794 "272": "Dstrok;",
795 "273": "dstrok;",
796 "274": "Emacr;",
797 "275": "emacr;",
798 "278": "Edot;",
799 "279": "edot;",
800 "280": "Eogon;",
801 "281": "eogon;",
802 "282": "Ecaron;",
803 "283": "ecaron;",
804 "284": "Gcirc;",
805 "285": "gcirc;",
806 "286": "Gbreve;",
807 "287": "gbreve;",
808 "288": "Gdot;",
809 "289": "gdot;",
810 "290": "Gcedil;",
811 "292": "Hcirc;",
812 "293": "hcirc;",
813 "294": "Hstrok;",
814 "295": "hstrok;",
815 "296": "Itilde;",
816 "297": "itilde;",
817 "298": "Imacr;",
818 "299": "imacr;",
819 "302": "Iogon;",
820 "303": "iogon;",
821 "304": "Idot;",
822 "305": "inodot;",
823 "306": "IJlig;",
824 "307": "ijlig;",
825 "308": "Jcirc;",
826 "309": "jcirc;",
827 "310": "Kcedil;",
828 "311": "kcedil;",
829 "312": "kgreen;",
830 "313": "Lacute;",
831 "314": "lacute;",
832 "315": "Lcedil;",
833 "316": "lcedil;",
834 "317": "Lcaron;",
835 "318": "lcaron;",
836 "319": "Lmidot;",
837 "320": "lmidot;",
838 "321": "Lstrok;",
839 "322": "lstrok;",
840 "323": "Nacute;",
841 "324": "nacute;",
842 "325": "Ncedil;",
843 "326": "ncedil;",
844 "327": "Ncaron;",
845 "328": "ncaron;",
846 "329": "napos;",
847 "330": "ENG;",
848 "331": "eng;",
849 "332": "Omacr;",
850 "333": "omacr;",
851 "336": "Odblac;",
852 "337": "odblac;",
853 "338": "OElig;",
854 "339": "oelig;",
855 "340": "Racute;",
856 "341": "racute;",
857 "342": "Rcedil;",
858 "343": "rcedil;",
859 "344": "Rcaron;",
860 "345": "rcaron;",
861 "346": "Sacute;",
862 "347": "sacute;",
863 "348": "Scirc;",
864 "349": "scirc;",
865 "350": "Scedil;",
866 "351": "scedil;",
867 "352": "Scaron;",
868 "353": "scaron;",
869 "354": "Tcedil;",
870 "355": "tcedil;",
871 "356": "Tcaron;",
872 "357": "tcaron;",
873 "358": "Tstrok;",
874 "359": "tstrok;",
875 "360": "Utilde;",
876 "361": "utilde;",
877 "362": "Umacr;",
878 "363": "umacr;",
879 "364": "Ubreve;",
880 "365": "ubreve;",
881 "366": "Uring;",
882 "367": "uring;",
883 "368": "Udblac;",
884 "369": "udblac;",
885 "370": "Uogon;",
886 "371": "uogon;",
887 "372": "Wcirc;",
888 "373": "wcirc;",
889 "374": "Ycirc;",
890 "375": "ycirc;",
891 "376": "Yuml;",
892 "377": "Zacute;",
893 "378": "zacute;",
894 "379": "Zdot;",
895 "380": "zdot;",
896 "381": "Zcaron;",
897 "382": "zcaron;",
898 "402": "fnof;",
899 "437": "imped;",
900 "501": "gacute;",
901 "567": "jmath;",
902 "710": "circ;",
903 "711": "Hacek;",
904 "728": "breve;",
905 "729": "dot;",
906 "730": "ring;",
907 "731": "ogon;",
908 "732": "tilde;",
909 "733": "DiacriticalDoubleAcute;",
910 "785": "DownBreve;",
911 "913": "Alpha;",
912 "914": "Beta;",
913 "915": "Gamma;",
914 "916": "Delta;",
915 "917": "Epsilon;",
916 "918": "Zeta;",
917 "919": "Eta;",
918 "920": "Theta;",
919 "921": "Iota;",
920 "922": "Kappa;",
921 "923": "Lambda;",
922 "924": "Mu;",
923 "925": "Nu;",
924 "926": "Xi;",
925 "927": "Omicron;",
926 "928": "Pi;",
927 "929": "Rho;",
928 "931": "Sigma;",
929 "932": "Tau;",
930 "933": "Upsilon;",
931 "934": "Phi;",
932 "935": "Chi;",
933 "936": "Psi;",
934 "937": "Omega;",
935 "945": "alpha;",
936 "946": "beta;",
937 "947": "gamma;",
938 "948": "delta;",
939 "949": "epsilon;",
940 "950": "zeta;",
941 "951": "eta;",
942 "952": "theta;",
943 "953": "iota;",
944 "954": "kappa;",
945 "955": "lambda;",
946 "956": "mu;",
947 "957": "nu;",
948 "958": "xi;",
949 "959": "omicron;",
950 "960": "pi;",
951 "961": "rho;",
952 "962": "varsigma;",
953 "963": "sigma;",
954 "964": "tau;",
955 "965": "upsilon;",
956 "966": "phi;",
957 "967": "chi;",
958 "968": "psi;",
959 "969": "omega;",
960 "977": "vartheta;",
961 "978": "upsih;",
962 "981": "varphi;",
963 "982": "varpi;",
964 "988": "Gammad;",
965 "989": "gammad;",
966 "1008": "varkappa;",
967 "1009": "varrho;",
968 "1013": "varepsilon;",
969 "1014": "bepsi;",
970 "1025": "IOcy;",
971 "1026": "DJcy;",
972 "1027": "GJcy;",
973 "1028": "Jukcy;",
974 "1029": "DScy;",
975 "1030": "Iukcy;",
976 "1031": "YIcy;",
977 "1032": "Jsercy;",
978 "1033": "LJcy;",
979 "1034": "NJcy;",
980 "1035": "TSHcy;",
981 "1036": "KJcy;",
982 "1038": "Ubrcy;",
983 "1039": "DZcy;",
984 "1040": "Acy;",
985 "1041": "Bcy;",
986 "1042": "Vcy;",
987 "1043": "Gcy;",
988 "1044": "Dcy;",
989 "1045": "IEcy;",
990 "1046": "ZHcy;",
991 "1047": "Zcy;",
992 "1048": "Icy;",
993 "1049": "Jcy;",
994 "1050": "Kcy;",
995 "1051": "Lcy;",
996 "1052": "Mcy;",
997 "1053": "Ncy;",
998 "1054": "Ocy;",
999 "1055": "Pcy;",
1000 "1056": "Rcy;",
1001 "1057": "Scy;",
1002 "1058": "Tcy;",
1003 "1059": "Ucy;",
1004 "1060": "Fcy;",
1005 "1061": "KHcy;",
1006 "1062": "TScy;",
1007 "1063": "CHcy;",
1008 "1064": "SHcy;",
1009 "1065": "SHCHcy;",
1010 "1066": "HARDcy;",
1011 "1067": "Ycy;",
1012 "1068": "SOFTcy;",
1013 "1069": "Ecy;",
1014 "1070": "YUcy;",
1015 "1071": "YAcy;",
1016 "1072": "acy;",
1017 "1073": "bcy;",
1018 "1074": "vcy;",
1019 "1075": "gcy;",
1020 "1076": "dcy;",
1021 "1077": "iecy;",
1022 "1078": "zhcy;",
1023 "1079": "zcy;",
1024 "1080": "icy;",
1025 "1081": "jcy;",
1026 "1082": "kcy;",
1027 "1083": "lcy;",
1028 "1084": "mcy;",
1029 "1085": "ncy;",
1030 "1086": "ocy;",
1031 "1087": "pcy;",
1032 "1088": "rcy;",
1033 "1089": "scy;",
1034 "1090": "tcy;",
1035 "1091": "ucy;",
1036 "1092": "fcy;",
1037 "1093": "khcy;",
1038 "1094": "tscy;",
1039 "1095": "chcy;",
1040 "1096": "shcy;",
1041 "1097": "shchcy;",
1042 "1098": "hardcy;",
1043 "1099": "ycy;",
1044 "1100": "softcy;",
1045 "1101": "ecy;",
1046 "1102": "yucy;",
1047 "1103": "yacy;",
1048 "1105": "iocy;",
1049 "1106": "djcy;",
1050 "1107": "gjcy;",
1051 "1108": "jukcy;",
1052 "1109": "dscy;",
1053 "1110": "iukcy;",
1054 "1111": "yicy;",
1055 "1112": "jsercy;",
1056 "1113": "ljcy;",
1057 "1114": "njcy;",
1058 "1115": "tshcy;",
1059 "1116": "kjcy;",
1060 "1118": "ubrcy;",
1061 "1119": "dzcy;",
1062 "8194": "ensp;",
1063 "8195": "emsp;",
1064 "8196": "emsp13;",
1065 "8197": "emsp14;",
1066 "8199": "numsp;",
1067 "8200": "puncsp;",
1068 "8201": "ThinSpace;",
1069 "8202": "VeryThinSpace;",
1070 "8203": "ZeroWidthSpace;",
1071 "8204": "zwnj;",
1072 "8205": "zwj;",
1073 "8206": "lrm;",
1074 "8207": "rlm;",
1075 "8208": "hyphen;",
1076 "8211": "ndash;",
1077 "8212": "mdash;",
1078 "8213": "horbar;",
1079 "8214": "Vert;",
1080 "8216": "OpenCurlyQuote;",
1081 "8217": "rsquor;",
1082 "8218": "sbquo;",
1083 "8220": "OpenCurlyDoubleQuote;",
1084 "8221": "rdquor;",
1085 "8222": "ldquor;",
1086 "8224": "dagger;",
1087 "8225": "ddagger;",
1088 "8226": "bullet;",
1089 "8229": "nldr;",
1090 "8230": "mldr;",
1091 "8240": "permil;",
1092 "8241": "pertenk;",
1093 "8242": "prime;",
1094 "8243": "Prime;",
1095 "8244": "tprime;",
1096 "8245": "bprime;",
1097 "8249": "lsaquo;",
1098 "8250": "rsaquo;",
1099 "8254": "OverBar;",
1100 "8257": "caret;",
1101 "8259": "hybull;",
1102 "8260": "frasl;",
1103 "8271": "bsemi;",
1104 "8279": "qprime;",
1105 "8287": "MediumSpace;",
1106 "8288": "NoBreak;",
1107 "8289": "ApplyFunction;",
1108 "8290": "it;",
1109 "8291": "InvisibleComma;",
1110 "8364": "euro;",
1111 "8411": "TripleDot;",
1112 "8412": "DotDot;",
1113 "8450": "Copf;",
1114 "8453": "incare;",
1115 "8458": "gscr;",
1116 "8459": "Hscr;",
1117 "8460": "Poincareplane;",
1118 "8461": "quaternions;",
1119 "8462": "planckh;",
1120 "8463": "plankv;",
1121 "8464": "Iscr;",
1122 "8465": "imagpart;",
1123 "8466": "Lscr;",
1124 "8467": "ell;",
1125 "8469": "Nopf;",
1126 "8470": "numero;",
1127 "8471": "copysr;",
1128 "8472": "wp;",
1129 "8473": "primes;",
1130 "8474": "rationals;",
1131 "8475": "Rscr;",
1132 "8476": "Rfr;",
1133 "8477": "Ropf;",
1134 "8478": "rx;",
1135 "8482": "trade;",
1136 "8484": "Zopf;",
1137 "8487": "mho;",
1138 "8488": "Zfr;",
1139 "8489": "iiota;",
1140 "8492": "Bscr;",
1141 "8493": "Cfr;",
1142 "8495": "escr;",
1143 "8496": "expectation;",
1144 "8497": "Fscr;",
1145 "8499": "phmmat;",
1146 "8500": "oscr;",
1147 "8501": "aleph;",
1148 "8502": "beth;",
1149 "8503": "gimel;",
1150 "8504": "daleth;",
1151 "8517": "DD;",
1152 "8518": "DifferentialD;",
1153 "8519": "exponentiale;",
1154 "8520": "ImaginaryI;",
1155 "8531": "frac13;",
1156 "8532": "frac23;",
1157 "8533": "frac15;",
1158 "8534": "frac25;",
1159 "8535": "frac35;",
1160 "8536": "frac45;",
1161 "8537": "frac16;",
1162 "8538": "frac56;",
1163 "8539": "frac18;",
1164 "8540": "frac38;",
1165 "8541": "frac58;",
1166 "8542": "frac78;",
1167 "8592": "slarr;",
1168 "8593": "uparrow;",
1169 "8594": "srarr;",
1170 "8595": "ShortDownArrow;",
1171 "8596": "leftrightarrow;",
1172 "8597": "varr;",
1173 "8598": "UpperLeftArrow;",
1174 "8599": "UpperRightArrow;",
1175 "8600": "searrow;",
1176 "8601": "swarrow;",
1177 "8602": "nleftarrow;",
1178 "8603": "nrightarrow;",
1179 "8605": "rightsquigarrow;",
1180 "8606": "twoheadleftarrow;",
1181 "8607": "Uarr;",
1182 "8608": "twoheadrightarrow;",
1183 "8609": "Darr;",
1184 "8610": "leftarrowtail;",
1185 "8611": "rightarrowtail;",
1186 "8612": "mapstoleft;",
1187 "8613": "UpTeeArrow;",
1188 "8614": "RightTeeArrow;",
1189 "8615": "mapstodown;",
1190 "8617": "larrhk;",
1191 "8618": "rarrhk;",
1192 "8619": "looparrowleft;",
1193 "8620": "rarrlp;",
1194 "8621": "leftrightsquigarrow;",
1195 "8622": "nleftrightarrow;",
1196 "8624": "lsh;",
1197 "8625": "rsh;",
1198 "8626": "ldsh;",
1199 "8627": "rdsh;",
1200 "8629": "crarr;",
1201 "8630": "curvearrowleft;",
1202 "8631": "curvearrowright;",
1203 "8634": "olarr;",
1204 "8635": "orarr;",
1205 "8636": "lharu;",
1206 "8637": "lhard;",
1207 "8638": "upharpoonright;",
1208 "8639": "upharpoonleft;",
1209 "8640": "RightVector;",
1210 "8641": "rightharpoondown;",
1211 "8642": "RightDownVector;",
1212 "8643": "LeftDownVector;",
1213 "8644": "rlarr;",
1214 "8645": "UpArrowDownArrow;",
1215 "8646": "lrarr;",
1216 "8647": "llarr;",
1217 "8648": "uuarr;",
1218 "8649": "rrarr;",
1219 "8650": "downdownarrows;",
1220 "8651": "ReverseEquilibrium;",
1221 "8652": "rlhar;",
1222 "8653": "nLeftarrow;",
1223 "8654": "nLeftrightarrow;",
1224 "8655": "nRightarrow;",
1225 "8656": "Leftarrow;",
1226 "8657": "Uparrow;",
1227 "8658": "Rightarrow;",
1228 "8659": "Downarrow;",
1229 "8660": "Leftrightarrow;",
1230 "8661": "vArr;",
1231 "8662": "nwArr;",
1232 "8663": "neArr;",
1233 "8664": "seArr;",
1234 "8665": "swArr;",
1235 "8666": "Lleftarrow;",
1236 "8667": "Rrightarrow;",
1237 "8669": "zigrarr;",
1238 "8676": "LeftArrowBar;",
1239 "8677": "RightArrowBar;",
1240 "8693": "duarr;",
1241 "8701": "loarr;",
1242 "8702": "roarr;",
1243 "8703": "hoarr;",
1244 "8704": "forall;",
1245 "8705": "complement;",
1246 "8706": "PartialD;",
1247 "8707": "Exists;",
1248 "8708": "NotExists;",
1249 "8709": "varnothing;",
1250 "8711": "nabla;",
1251 "8712": "isinv;",
1252 "8713": "notinva;",
1253 "8715": "SuchThat;",
1254 "8716": "NotReverseElement;",
1255 "8719": "Product;",
1256 "8720": "Coproduct;",
1257 "8721": "sum;",
1258 "8722": "minus;",
1259 "8723": "mp;",
1260 "8724": "plusdo;",
1261 "8726": "ssetmn;",
1262 "8727": "lowast;",
1263 "8728": "SmallCircle;",
1264 "8730": "Sqrt;",
1265 "8733": "vprop;",
1266 "8734": "infin;",
1267 "8735": "angrt;",
1268 "8736": "angle;",
1269 "8737": "measuredangle;",
1270 "8738": "angsph;",
1271 "8739": "VerticalBar;",
1272 "8740": "nsmid;",
1273 "8741": "spar;",
1274 "8742": "nspar;",
1275 "8743": "wedge;",
1276 "8744": "vee;",
1277 "8745": "cap;",
1278 "8746": "cup;",
1279 "8747": "Integral;",
1280 "8748": "Int;",
1281 "8749": "tint;",
1282 "8750": "oint;",
1283 "8751": "DoubleContourIntegral;",
1284 "8752": "Cconint;",
1285 "8753": "cwint;",
1286 "8754": "cwconint;",
1287 "8755": "CounterClockwiseContourIntegral;",
1288 "8756": "therefore;",
1289 "8757": "because;",
1290 "8758": "ratio;",
1291 "8759": "Proportion;",
1292 "8760": "minusd;",
1293 "8762": "mDDot;",
1294 "8763": "homtht;",
1295 "8764": "Tilde;",
1296 "8765": "bsim;",
1297 "8766": "mstpos;",
1298 "8767": "acd;",
1299 "8768": "wreath;",
1300 "8769": "nsim;",
1301 "8770": "esim;",
1302 "8771": "TildeEqual;",
1303 "8772": "nsimeq;",
1304 "8773": "TildeFullEqual;",
1305 "8774": "simne;",
1306 "8775": "NotTildeFullEqual;",
1307 "8776": "TildeTilde;",
1308 "8777": "NotTildeTilde;",
1309 "8778": "approxeq;",
1310 "8779": "apid;",
1311 "8780": "bcong;",
1312 "8781": "CupCap;",
1313 "8782": "HumpDownHump;",
1314 "8783": "HumpEqual;",
1315 "8784": "esdot;",
1316 "8785": "eDot;",
1317 "8786": "fallingdotseq;",
1318 "8787": "risingdotseq;",
1319 "8788": "coloneq;",
1320 "8789": "eqcolon;",
1321 "8790": "eqcirc;",
1322 "8791": "cire;",
1323 "8793": "wedgeq;",
1324 "8794": "veeeq;",
1325 "8796": "trie;",
1326 "8799": "questeq;",
1327 "8800": "NotEqual;",
1328 "8801": "equiv;",
1329 "8802": "NotCongruent;",
1330 "8804": "leq;",
1331 "8805": "GreaterEqual;",
1332 "8806": "LessFullEqual;",
1333 "8807": "GreaterFullEqual;",
1334 "8808": "lneqq;",
1335 "8809": "gneqq;",
1336 "8810": "NestedLessLess;",
1337 "8811": "NestedGreaterGreater;",
1338 "8812": "twixt;",
1339 "8813": "NotCupCap;",
1340 "8814": "NotLess;",
1341 "8815": "NotGreater;",
1342 "8816": "NotLessEqual;",
1343 "8817": "NotGreaterEqual;",
1344 "8818": "lsim;",
1345 "8819": "gtrsim;",
1346 "8820": "NotLessTilde;",
1347 "8821": "NotGreaterTilde;",
1348 "8822": "lg;",
1349 "8823": "gtrless;",
1350 "8824": "ntlg;",
1351 "8825": "ntgl;",
1352 "8826": "Precedes;",
1353 "8827": "Succeeds;",
1354 "8828": "PrecedesSlantEqual;",
1355 "8829": "SucceedsSlantEqual;",
1356 "8830": "prsim;",
1357 "8831": "succsim;",
1358 "8832": "nprec;",
1359 "8833": "nsucc;",
1360 "8834": "subset;",
1361 "8835": "supset;",
1362 "8836": "nsub;",
1363 "8837": "nsup;",
1364 "8838": "SubsetEqual;",
1365 "8839": "supseteq;",
1366 "8840": "nsubseteq;",
1367 "8841": "nsupseteq;",
1368 "8842": "subsetneq;",
1369 "8843": "supsetneq;",
1370 "8845": "cupdot;",
1371 "8846": "uplus;",
1372 "8847": "SquareSubset;",
1373 "8848": "SquareSuperset;",
1374 "8849": "SquareSubsetEqual;",
1375 "8850": "SquareSupersetEqual;",
1376 "8851": "SquareIntersection;",
1377 "8852": "SquareUnion;",
1378 "8853": "oplus;",
1379 "8854": "ominus;",
1380 "8855": "otimes;",
1381 "8856": "osol;",
1382 "8857": "odot;",
1383 "8858": "ocir;",
1384 "8859": "oast;",
1385 "8861": "odash;",
1386 "8862": "plusb;",
1387 "8863": "minusb;",
1388 "8864": "timesb;",
1389 "8865": "sdotb;",
1390 "8866": "vdash;",
1391 "8867": "LeftTee;",
1392 "8868": "top;",
1393 "8869": "UpTee;",
1394 "8871": "models;",
1395 "8872": "vDash;",
1396 "8873": "Vdash;",
1397 "8874": "Vvdash;",
1398 "8875": "VDash;",
1399 "8876": "nvdash;",
1400 "8877": "nvDash;",
1401 "8878": "nVdash;",
1402 "8879": "nVDash;",
1403 "8880": "prurel;",
1404 "8882": "vltri;",
1405 "8883": "vrtri;",
1406 "8884": "trianglelefteq;",
1407 "8885": "trianglerighteq;",
1408 "8886": "origof;",
1409 "8887": "imof;",
1410 "8888": "mumap;",
1411 "8889": "hercon;",
1412 "8890": "intercal;",
1413 "8891": "veebar;",
1414 "8893": "barvee;",
1415 "8894": "angrtvb;",
1416 "8895": "lrtri;",
1417 "8896": "xwedge;",
1418 "8897": "xvee;",
1419 "8898": "xcap;",
1420 "8899": "xcup;",
1421 "8900": "diamond;",
1422 "8901": "sdot;",
1423 "8902": "Star;",
1424 "8903": "divonx;",
1425 "8904": "bowtie;",
1426 "8905": "ltimes;",
1427 "8906": "rtimes;",
1428 "8907": "lthree;",
1429 "8908": "rthree;",
1430 "8909": "bsime;",
1431 "8910": "cuvee;",
1432 "8911": "cuwed;",
1433 "8912": "Subset;",
1434 "8913": "Supset;",
1435 "8914": "Cap;",
1436 "8915": "Cup;",
1437 "8916": "pitchfork;",
1438 "8917": "epar;",
1439 "8918": "ltdot;",
1440 "8919": "gtrdot;",
1441 "8920": "Ll;",
1442 "8921": "ggg;",
1443 "8922": "LessEqualGreater;",
1444 "8923": "gtreqless;",
1445 "8926": "curlyeqprec;",
1446 "8927": "curlyeqsucc;",
1447 "8928": "nprcue;",
1448 "8929": "nsccue;",
1449 "8930": "nsqsube;",
1450 "8931": "nsqsupe;",
1451 "8934": "lnsim;",
1452 "8935": "gnsim;",
1453 "8936": "prnsim;",
1454 "8937": "succnsim;",
1455 "8938": "ntriangleleft;",
1456 "8939": "ntriangleright;",
1457 "8940": "ntrianglelefteq;",
1458 "8941": "ntrianglerighteq;",
1459 "8942": "vellip;",
1460 "8943": "ctdot;",
1461 "8944": "utdot;",
1462 "8945": "dtdot;",
1463 "8946": "disin;",
1464 "8947": "isinsv;",
1465 "8948": "isins;",
1466 "8949": "isindot;",
1467 "8950": "notinvc;",
1468 "8951": "notinvb;",
1469 "8953": "isinE;",
1470 "8954": "nisd;",
1471 "8955": "xnis;",
1472 "8956": "nis;",
1473 "8957": "notnivc;",
1474 "8958": "notnivb;",
1475 "8965": "barwedge;",
1476 "8966": "doublebarwedge;",
1477 "8968": "LeftCeiling;",
1478 "8969": "RightCeiling;",
1479 "8970": "lfloor;",
1480 "8971": "RightFloor;",
1481 "8972": "drcrop;",
1482 "8973": "dlcrop;",
1483 "8974": "urcrop;",
1484 "8975": "ulcrop;",
1485 "8976": "bnot;",
1486 "8978": "profline;",
1487 "8979": "profsurf;",
1488 "8981": "telrec;",
1489 "8982": "target;",
1490 "8988": "ulcorner;",
1491 "8989": "urcorner;",
1492 "8990": "llcorner;",
1493 "8991": "lrcorner;",
1494 "8994": "sfrown;",
1495 "8995": "ssmile;",
1496 "9005": "cylcty;",
1497 "9006": "profalar;",
1498 "9014": "topbot;",
1499 "9021": "ovbar;",
1500 "9023": "solbar;",
1501 "9084": "angzarr;",
1502 "9136": "lmoustache;",
1503 "9137": "rmoustache;",
1504 "9140": "tbrk;",
1505 "9141": "UnderBracket;",
1506 "9142": "bbrktbrk;",
1507 "9180": "OverParenthesis;",
1508 "9181": "UnderParenthesis;",
1509 "9182": "OverBrace;",
1510 "9183": "UnderBrace;",
1511 "9186": "trpezium;",
1512 "9191": "elinters;",
1513 "9251": "blank;",
1514 "9416": "oS;",
1515 "9472": "HorizontalLine;",
1516 "9474": "boxv;",
1517 "9484": "boxdr;",
1518 "9488": "boxdl;",
1519 "9492": "boxur;",
1520 "9496": "boxul;",
1521 "9500": "boxvr;",
1522 "9508": "boxvl;",
1523 "9516": "boxhd;",
1524 "9524": "boxhu;",
1525 "9532": "boxvh;",
1526 "9552": "boxH;",
1527 "9553": "boxV;",
1528 "9554": "boxdR;",
1529 "9555": "boxDr;",
1530 "9556": "boxDR;",
1531 "9557": "boxdL;",
1532 "9558": "boxDl;",
1533 "9559": "boxDL;",
1534 "9560": "boxuR;",
1535 "9561": "boxUr;",
1536 "9562": "boxUR;",
1537 "9563": "boxuL;",
1538 "9564": "boxUl;",
1539 "9565": "boxUL;",
1540 "9566": "boxvR;",
1541 "9567": "boxVr;",
1542 "9568": "boxVR;",
1543 "9569": "boxvL;",
1544 "9570": "boxVl;",
1545 "9571": "boxVL;",
1546 "9572": "boxHd;",
1547 "9573": "boxhD;",
1548 "9574": "boxHD;",
1549 "9575": "boxHu;",
1550 "9576": "boxhU;",
1551 "9577": "boxHU;",
1552 "9578": "boxvH;",
1553 "9579": "boxVh;",
1554 "9580": "boxVH;",
1555 "9600": "uhblk;",
1556 "9604": "lhblk;",
1557 "9608": "block;",
1558 "9617": "blk14;",
1559 "9618": "blk12;",
1560 "9619": "blk34;",
1561 "9633": "square;",
1562 "9642": "squf;",
1563 "9643": "EmptyVerySmallSquare;",
1564 "9645": "rect;",
1565 "9646": "marker;",
1566 "9649": "fltns;",
1567 "9651": "xutri;",
1568 "9652": "utrif;",
1569 "9653": "utri;",
1570 "9656": "rtrif;",
1571 "9657": "triangleright;",
1572 "9661": "xdtri;",
1573 "9662": "dtrif;",
1574 "9663": "triangledown;",
1575 "9666": "ltrif;",
1576 "9667": "triangleleft;",
1577 "9674": "lozenge;",
1578 "9675": "cir;",
1579 "9708": "tridot;",
1580 "9711": "xcirc;",
1581 "9720": "ultri;",
1582 "9721": "urtri;",
1583 "9722": "lltri;",
1584 "9723": "EmptySmallSquare;",
1585 "9724": "FilledSmallSquare;",
1586 "9733": "starf;",
1587 "9734": "star;",
1588 "9742": "phone;",
1589 "9792": "female;",
1590 "9794": "male;",
1591 "9824": "spadesuit;",
1592 "9827": "clubsuit;",
1593 "9829": "heartsuit;",
1594 "9830": "diams;",
1595 "9834": "sung;",
1596 "9837": "flat;",
1597 "9838": "natural;",
1598 "9839": "sharp;",
1599 "10003": "checkmark;",
1600 "10007": "cross;",
1601 "10016": "maltese;",
1602 "10038": "sext;",
1603 "10072": "VerticalSeparator;",
1604 "10098": "lbbrk;",
1605 "10099": "rbbrk;",
1606 "10184": "bsolhsub;",
1607 "10185": "suphsol;",
1608 "10214": "lobrk;",
1609 "10215": "robrk;",
1610 "10216": "LeftAngleBracket;",
1611 "10217": "RightAngleBracket;",
1612 "10218": "Lang;",
1613 "10219": "Rang;",
1614 "10220": "loang;",
1615 "10221": "roang;",
1616 "10229": "xlarr;",
1617 "10230": "xrarr;",
1618 "10231": "xharr;",
1619 "10232": "xlArr;",
1620 "10233": "xrArr;",
1621 "10234": "xhArr;",
1622 "10236": "xmap;",
1623 "10239": "dzigrarr;",
1624 "10498": "nvlArr;",
1625 "10499": "nvrArr;",
1626 "10500": "nvHarr;",
1627 "10501": "Map;",
1628 "10508": "lbarr;",
1629 "10509": "rbarr;",
1630 "10510": "lBarr;",
1631 "10511": "rBarr;",
1632 "10512": "RBarr;",
1633 "10513": "DDotrahd;",
1634 "10514": "UpArrowBar;",
1635 "10515": "DownArrowBar;",
1636 "10518": "Rarrtl;",
1637 "10521": "latail;",
1638 "10522": "ratail;",
1639 "10523": "lAtail;",
1640 "10524": "rAtail;",
1641 "10525": "larrfs;",
1642 "10526": "rarrfs;",
1643 "10527": "larrbfs;",
1644 "10528": "rarrbfs;",
1645 "10531": "nwarhk;",
1646 "10532": "nearhk;",
1647 "10533": "searhk;",
1648 "10534": "swarhk;",
1649 "10535": "nwnear;",
1650 "10536": "toea;",
1651 "10537": "tosa;",
1652 "10538": "swnwar;",
1653 "10547": "rarrc;",
1654 "10549": "cudarrr;",
1655 "10550": "ldca;",
1656 "10551": "rdca;",
1657 "10552": "cudarrl;",
1658 "10553": "larrpl;",
1659 "10556": "curarrm;",
1660 "10557": "cularrp;",
1661 "10565": "rarrpl;",
1662 "10568": "harrcir;",
1663 "10569": "Uarrocir;",
1664 "10570": "lurdshar;",
1665 "10571": "ldrushar;",
1666 "10574": "LeftRightVector;",
1667 "10575": "RightUpDownVector;",
1668 "10576": "DownLeftRightVector;",
1669 "10577": "LeftUpDownVector;",
1670 "10578": "LeftVectorBar;",
1671 "10579": "RightVectorBar;",
1672 "10580": "RightUpVectorBar;",
1673 "10581": "RightDownVectorBar;",
1674 "10582": "DownLeftVectorBar;",
1675 "10583": "DownRightVectorBar;",
1676 "10584": "LeftUpVectorBar;",
1677 "10585": "LeftDownVectorBar;",
1678 "10586": "LeftTeeVector;",
1679 "10587": "RightTeeVector;",
1680 "10588": "RightUpTeeVector;",
1681 "10589": "RightDownTeeVector;",
1682 "10590": "DownLeftTeeVector;",
1683 "10591": "DownRightTeeVector;",
1684 "10592": "LeftUpTeeVector;",
1685 "10593": "LeftDownTeeVector;",
1686 "10594": "lHar;",
1687 "10595": "uHar;",
1688 "10596": "rHar;",
1689 "10597": "dHar;",
1690 "10598": "luruhar;",
1691 "10599": "ldrdhar;",
1692 "10600": "ruluhar;",
1693 "10601": "rdldhar;",
1694 "10602": "lharul;",
1695 "10603": "llhard;",
1696 "10604": "rharul;",
1697 "10605": "lrhard;",
1698 "10606": "UpEquilibrium;",
1699 "10607": "ReverseUpEquilibrium;",
1700 "10608": "RoundImplies;",
1701 "10609": "erarr;",
1702 "10610": "simrarr;",
1703 "10611": "larrsim;",
1704 "10612": "rarrsim;",
1705 "10613": "rarrap;",
1706 "10614": "ltlarr;",
1707 "10616": "gtrarr;",
1708 "10617": "subrarr;",
1709 "10619": "suplarr;",
1710 "10620": "lfisht;",
1711 "10621": "rfisht;",
1712 "10622": "ufisht;",
1713 "10623": "dfisht;",
1714 "10629": "lopar;",
1715 "10630": "ropar;",
1716 "10635": "lbrke;",
1717 "10636": "rbrke;",
1718 "10637": "lbrkslu;",
1719 "10638": "rbrksld;",
1720 "10639": "lbrksld;",
1721 "10640": "rbrkslu;",
1722 "10641": "langd;",
1723 "10642": "rangd;",
1724 "10643": "lparlt;",
1725 "10644": "rpargt;",
1726 "10645": "gtlPar;",
1727 "10646": "ltrPar;",
1728 "10650": "vzigzag;",
1729 "10652": "vangrt;",
1730 "10653": "angrtvbd;",
1731 "10660": "ange;",
1732 "10661": "range;",
1733 "10662": "dwangle;",
1734 "10663": "uwangle;",
1735 "10664": "angmsdaa;",
1736 "10665": "angmsdab;",
1737 "10666": "angmsdac;",
1738 "10667": "angmsdad;",
1739 "10668": "angmsdae;",
1740 "10669": "angmsdaf;",
1741 "10670": "angmsdag;",
1742 "10671": "angmsdah;",
1743 "10672": "bemptyv;",
1744 "10673": "demptyv;",
1745 "10674": "cemptyv;",
1746 "10675": "raemptyv;",
1747 "10676": "laemptyv;",
1748 "10677": "ohbar;",
1749 "10678": "omid;",
1750 "10679": "opar;",
1751 "10681": "operp;",
1752 "10683": "olcross;",
1753 "10684": "odsold;",
1754 "10686": "olcir;",
1755 "10687": "ofcir;",
1756 "10688": "olt;",
1757 "10689": "ogt;",
1758 "10690": "cirscir;",
1759 "10691": "cirE;",
1760 "10692": "solb;",
1761 "10693": "bsolb;",
1762 "10697": "boxbox;",
1763 "10701": "trisb;",
1764 "10702": "rtriltri;",
1765 "10703": "LeftTriangleBar;",
1766 "10704": "RightTriangleBar;",
1767 "10716": "iinfin;",
1768 "10717": "infintie;",
1769 "10718": "nvinfin;",
1770 "10723": "eparsl;",
1771 "10724": "smeparsl;",
1772 "10725": "eqvparsl;",
1773 "10731": "lozf;",
1774 "10740": "RuleDelayed;",
1775 "10742": "dsol;",
1776 "10752": "xodot;",
1777 "10753": "xoplus;",
1778 "10754": "xotime;",
1779 "10756": "xuplus;",
1780 "10758": "xsqcup;",
1781 "10764": "qint;",
1782 "10765": "fpartint;",
1783 "10768": "cirfnint;",
1784 "10769": "awint;",
1785 "10770": "rppolint;",
1786 "10771": "scpolint;",
1787 "10772": "npolint;",
1788 "10773": "pointint;",
1789 "10774": "quatint;",
1790 "10775": "intlarhk;",
1791 "10786": "pluscir;",
1792 "10787": "plusacir;",
1793 "10788": "simplus;",
1794 "10789": "plusdu;",
1795 "10790": "plussim;",
1796 "10791": "plustwo;",
1797 "10793": "mcomma;",
1798 "10794": "minusdu;",
1799 "10797": "loplus;",
1800 "10798": "roplus;",
1801 "10799": "Cross;",
1802 "10800": "timesd;",
1803 "10801": "timesbar;",
1804 "10803": "smashp;",
1805 "10804": "lotimes;",
1806 "10805": "rotimes;",
1807 "10806": "otimesas;",
1808 "10807": "Otimes;",
1809 "10808": "odiv;",
1810 "10809": "triplus;",
1811 "10810": "triminus;",
1812 "10811": "tritime;",
1813 "10812": "iprod;",
1814 "10815": "amalg;",
1815 "10816": "capdot;",
1816 "10818": "ncup;",
1817 "10819": "ncap;",
1818 "10820": "capand;",
1819 "10821": "cupor;",
1820 "10822": "cupcap;",
1821 "10823": "capcup;",
1822 "10824": "cupbrcap;",
1823 "10825": "capbrcup;",
1824 "10826": "cupcup;",
1825 "10827": "capcap;",
1826 "10828": "ccups;",
1827 "10829": "ccaps;",
1828 "10832": "ccupssm;",
1829 "10835": "And;",
1830 "10836": "Or;",
1831 "10837": "andand;",
1832 "10838": "oror;",
1833 "10839": "orslope;",
1834 "10840": "andslope;",
1835 "10842": "andv;",
1836 "10843": "orv;",
1837 "10844": "andd;",
1838 "10845": "ord;",
1839 "10847": "wedbar;",
1840 "10854": "sdote;",
1841 "10858": "simdot;",
1842 "10861": "congdot;",
1843 "10862": "easter;",
1844 "10863": "apacir;",
1845 "10864": "apE;",
1846 "10865": "eplus;",
1847 "10866": "pluse;",
1848 "10867": "Esim;",
1849 "10868": "Colone;",
1850 "10869": "Equal;",
1851 "10871": "eDDot;",
1852 "10872": "equivDD;",
1853 "10873": "ltcir;",
1854 "10874": "gtcir;",
1855 "10875": "ltquest;",
1856 "10876": "gtquest;",
1857 "10877": "LessSlantEqual;",
1858 "10878": "GreaterSlantEqual;",
1859 "10879": "lesdot;",
1860 "10880": "gesdot;",
1861 "10881": "lesdoto;",
1862 "10882": "gesdoto;",
1863 "10883": "lesdotor;",
1864 "10884": "gesdotol;",
1865 "10885": "lessapprox;",
1866 "10886": "gtrapprox;",
1867 "10887": "lneq;",
1868 "10888": "gneq;",
1869 "10889": "lnapprox;",
1870 "10890": "gnapprox;",
1871 "10891": "lesseqqgtr;",
1872 "10892": "gtreqqless;",
1873 "10893": "lsime;",
1874 "10894": "gsime;",
1875 "10895": "lsimg;",
1876 "10896": "gsiml;",
1877 "10897": "lgE;",
1878 "10898": "glE;",
1879 "10899": "lesges;",
1880 "10900": "gesles;",
1881 "10901": "eqslantless;",
1882 "10902": "eqslantgtr;",
1883 "10903": "elsdot;",
1884 "10904": "egsdot;",
1885 "10905": "el;",
1886 "10906": "eg;",
1887 "10909": "siml;",
1888 "10910": "simg;",
1889 "10911": "simlE;",
1890 "10912": "simgE;",
1891 "10913": "LessLess;",
1892 "10914": "GreaterGreater;",
1893 "10916": "glj;",
1894 "10917": "gla;",
1895 "10918": "ltcc;",
1896 "10919": "gtcc;",
1897 "10920": "lescc;",
1898 "10921": "gescc;",
1899 "10922": "smt;",
1900 "10923": "lat;",
1901 "10924": "smte;",
1902 "10925": "late;",
1903 "10926": "bumpE;",
1904 "10927": "preceq;",
1905 "10928": "succeq;",
1906 "10931": "prE;",
1907 "10932": "scE;",
1908 "10933": "prnE;",
1909 "10934": "succneqq;",
1910 "10935": "precapprox;",
1911 "10936": "succapprox;",
1912 "10937": "prnap;",
1913 "10938": "succnapprox;",
1914 "10939": "Pr;",
1915 "10940": "Sc;",
1916 "10941": "subdot;",
1917 "10942": "supdot;",
1918 "10943": "subplus;",
1919 "10944": "supplus;",
1920 "10945": "submult;",
1921 "10946": "supmult;",
1922 "10947": "subedot;",
1923 "10948": "supedot;",
1924 "10949": "subseteqq;",
1925 "10950": "supseteqq;",
1926 "10951": "subsim;",
1927 "10952": "supsim;",
1928 "10955": "subsetneqq;",
1929 "10956": "supsetneqq;",
1930 "10959": "csub;",
1931 "10960": "csup;",
1932 "10961": "csube;",
1933 "10962": "csupe;",
1934 "10963": "subsup;",
1935 "10964": "supsub;",
1936 "10965": "subsub;",
1937 "10966": "supsup;",
1938 "10967": "suphsub;",
1939 "10968": "supdsub;",
1940 "10969": "forkv;",
1941 "10970": "topfork;",
1942 "10971": "mlcp;",
1943 "10980": "DoubleLeftTee;",
1944 "10982": "Vdashl;",
1945 "10983": "Barv;",
1946 "10984": "vBar;",
1947 "10985": "vBarv;",
1948 "10987": "Vbar;",
1949 "10988": "Not;",
1950 "10989": "bNot;",
1951 "10990": "rnmid;",
1952 "10991": "cirmid;",
1953 "10992": "midcir;",
1954 "10993": "topcir;",
1955 "10994": "nhpar;",
1956 "10995": "parsim;",
1957 "11005": "parsl;",
1958 "64256": "fflig;",
1959 "64257": "filig;",
1960 "64258": "fllig;",
1961 "64259": "ffilig;",
1962 "64260": "ffllig;"
1963}
1964},{}],9:[function(require,module,exports){
1965'use strict';
1966
1967var hasOwn = Object.prototype.hasOwnProperty;
1968var toStr = Object.prototype.toString;
1969var defineProperty = Object.defineProperty;
1970var gOPD = Object.getOwnPropertyDescriptor;
1971
1972var isArray = function isArray(arr) {
1973 if (typeof Array.isArray === 'function') {
1974 return Array.isArray(arr);
1975 }
1976
1977 return toStr.call(arr) === '[object Array]';
1978};
1979
1980var isPlainObject = function isPlainObject(obj) {
1981 if (!obj || toStr.call(obj) !== '[object Object]') {
1982 return false;
1983 }
1984
1985 var hasOwnConstructor = hasOwn.call(obj, 'constructor');
1986 var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');
1987 // Not own constructor property must be Object
1988 if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
1989 return false;
1990 }
1991
1992 // Own properties are enumerated firstly, so to speed up,
1993 // if last one is own, then all properties are own.
1994 var key;
1995 for (key in obj) { /**/ }
1996
1997 return typeof key === 'undefined' || hasOwn.call(obj, key);
1998};
1999
2000// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
2001var setProperty = function setProperty(target, options) {
2002 if (defineProperty && options.name === '__proto__') {
2003 defineProperty(target, options.name, {
2004 enumerable: true,
2005 configurable: true,
2006 value: options.newValue,
2007 writable: true
2008 });
2009 } else {
2010 target[options.name] = options.newValue;
2011 }
2012};
2013
2014// Return undefined instead of __proto__ if '__proto__' is not an own property
2015var getProperty = function getProperty(obj, name) {
2016 if (name === '__proto__') {
2017 if (!hasOwn.call(obj, name)) {
2018 return void 0;
2019 } else if (gOPD) {
2020 // In early versions of node, obj['__proto__'] is buggy when obj has
2021 // __proto__ as an own property. Object.getOwnPropertyDescriptor() works.
2022 return gOPD(obj, name).value;
2023 }
2024 }
2025
2026 return obj[name];
2027};
2028
2029module.exports = function extend() {
2030 var options, name, src, copy, copyIsArray, clone;
2031 var target = arguments[0];
2032 var i = 1;
2033 var length = arguments.length;
2034 var deep = false;
2035
2036 // Handle a deep copy situation
2037 if (typeof target === 'boolean') {
2038 deep = target;
2039 target = arguments[1] || {};
2040 // skip the boolean and the target
2041 i = 2;
2042 }
2043 if (target == null || (typeof target !== 'object' && typeof target !== 'function')) {
2044 target = {};
2045 }
2046
2047 for (; i < length; ++i) {
2048 options = arguments[i];
2049 // Only deal with non-null/undefined values
2050 if (options != null) {
2051 // Extend the base object
2052 for (name in options) {
2053 src = getProperty(target, name);
2054 copy = getProperty(options, name);
2055
2056 // Prevent never-ending loop
2057 if (target !== copy) {
2058 // Recurse if we're merging plain objects or arrays
2059 if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {
2060 if (copyIsArray) {
2061 copyIsArray = false;
2062 clone = src && isArray(src) ? src : [];
2063 } else {
2064 clone = src && isPlainObject(src) ? src : {};
2065 }
2066
2067 // Never move original objects, clone them
2068 setProperty(target, { name: name, newValue: extend(deep, clone, copy) });
2069
2070 // Don't bring in undefined values
2071 } else if (typeof copy !== 'undefined') {
2072 setProperty(target, { name: name, newValue: copy });
2073 }
2074 }
2075 }
2076 }
2077 }
2078
2079 // Return the modified object
2080 return target;
2081};
2082
2083},{}],10:[function(require,module,exports){
2084(function (global){
2085/*! https://mths.be/punycode v1.4.1 by @mathias */
2086;(function(root) {
2087
2088 /** Detect free variables */
2089 var freeExports = typeof exports == 'object' && exports &&
2090 !exports.nodeType && exports;
2091 var freeModule = typeof module == 'object' && module &&
2092 !module.nodeType && module;
2093 var freeGlobal = typeof global == 'object' && global;
2094 if (
2095 freeGlobal.global === freeGlobal ||
2096 freeGlobal.window === freeGlobal ||
2097 freeGlobal.self === freeGlobal
2098 ) {
2099 root = freeGlobal;
2100 }
2101
2102 /**
2103 * The `punycode` object.
2104 * @name punycode
2105 * @type Object
2106 */
2107 var punycode,
2108
2109 /** Highest positive signed 32-bit float value */
2110 maxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1
2111
2112 /** Bootstring parameters */
2113 base = 36,
2114 tMin = 1,
2115 tMax = 26,
2116 skew = 38,
2117 damp = 700,
2118 initialBias = 72,
2119 initialN = 128, // 0x80
2120 delimiter = '-', // '\x2D'
2121
2122 /** Regular expressions */
2123 regexPunycode = /^xn--/,
2124 regexNonASCII = /[^\x20-\x7E]/, // unprintable ASCII chars + non-ASCII chars
2125 regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g, // RFC 3490 separators
2126
2127 /** Error messages */
2128 errors = {
2129 'overflow': 'Overflow: input needs wider integers to process',
2130 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
2131 'invalid-input': 'Invalid input'
2132 },
2133
2134 /** Convenience shortcuts */
2135 baseMinusTMin = base - tMin,
2136 floor = Math.floor,
2137 stringFromCharCode = String.fromCharCode,
2138
2139 /** Temporary variable */
2140 key;
2141
2142 /*--------------------------------------------------------------------------*/
2143
2144 /**
2145 * A generic error utility function.
2146 * @private
2147 * @param {String} type The error type.
2148 * @returns {Error} Throws a `RangeError` with the applicable error message.
2149 */
2150 function error(type) {
2151 throw new RangeError(errors[type]);
2152 }
2153
2154 /**
2155 * A generic `Array#map` utility function.
2156 * @private
2157 * @param {Array} array The array to iterate over.
2158 * @param {Function} callback The function that gets called for every array
2159 * item.
2160 * @returns {Array} A new array of values returned by the callback function.
2161 */
2162 function map(array, fn) {
2163 var length = array.length;
2164 var result = [];
2165 while (length--) {
2166 result[length] = fn(array[length]);
2167 }
2168 return result;
2169 }
2170
2171 /**
2172 * A simple `Array#map`-like wrapper to work with domain name strings or email
2173 * addresses.
2174 * @private
2175 * @param {String} domain The domain name or email address.
2176 * @param {Function} callback The function that gets called for every
2177 * character.
2178 * @returns {Array} A new string of characters returned by the callback
2179 * function.
2180 */
2181 function mapDomain(string, fn) {
2182 var parts = string.split('@');
2183 var result = '';
2184 if (parts.length > 1) {
2185 // In email addresses, only the domain name should be punycoded. Leave
2186 // the local part (i.e. everything up to `@`) intact.
2187 result = parts[0] + '@';
2188 string = parts[1];
2189 }
2190 // Avoid `split(regex)` for IE8 compatibility. See #17.
2191 string = string.replace(regexSeparators, '\x2E');
2192 var labels = string.split('.');
2193 var encoded = map(labels, fn).join('.');
2194 return result + encoded;
2195 }
2196
2197 /**
2198 * Creates an array containing the numeric code points of each Unicode
2199 * character in the string. While JavaScript uses UCS-2 internally,
2200 * this function will convert a pair of surrogate halves (each of which
2201 * UCS-2 exposes as separate characters) into a single code point,
2202 * matching UTF-16.
2203 * @see `punycode.ucs2.encode`
2204 * @see <https://mathiasbynens.be/notes/javascript-encoding>
2205 * @memberOf punycode.ucs2
2206 * @name decode
2207 * @param {String} string The Unicode input string (UCS-2).
2208 * @returns {Array} The new array of code points.
2209 */
2210 function ucs2decode(string) {
2211 var output = [],
2212 counter = 0,
2213 length = string.length,
2214 value,
2215 extra;
2216 while (counter < length) {
2217 value = string.charCodeAt(counter++);
2218 if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
2219 // high surrogate, and there is a next character
2220 extra = string.charCodeAt(counter++);
2221 if ((extra & 0xFC00) == 0xDC00) { // low surrogate
2222 output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
2223 } else {
2224 // unmatched surrogate; only append this code unit, in case the next
2225 // code unit is the high surrogate of a surrogate pair
2226 output.push(value);
2227 counter--;
2228 }
2229 } else {
2230 output.push(value);
2231 }
2232 }
2233 return output;
2234 }
2235
2236 /**
2237 * Creates a string based on an array of numeric code points.
2238 * @see `punycode.ucs2.decode`
2239 * @memberOf punycode.ucs2
2240 * @name encode
2241 * @param {Array} codePoints The array of numeric code points.
2242 * @returns {String} The new Unicode string (UCS-2).
2243 */
2244 function ucs2encode(array) {
2245 return map(array, function(value) {
2246 var output = '';
2247 if (value > 0xFFFF) {
2248 value -= 0x10000;
2249 output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);
2250 value = 0xDC00 | value & 0x3FF;
2251 }
2252 output += stringFromCharCode(value);
2253 return output;
2254 }).join('');
2255 }
2256
2257 /**
2258 * Converts a basic code point into a digit/integer.
2259 * @see `digitToBasic()`
2260 * @private
2261 * @param {Number} codePoint The basic numeric code point value.
2262 * @returns {Number} The numeric value of a basic code point (for use in
2263 * representing integers) in the range `0` to `base - 1`, or `base` if
2264 * the code point does not represent a value.
2265 */
2266 function basicToDigit(codePoint) {
2267 if (codePoint - 48 < 10) {
2268 return codePoint - 22;
2269 }
2270 if (codePoint - 65 < 26) {
2271 return codePoint - 65;
2272 }
2273 if (codePoint - 97 < 26) {
2274 return codePoint - 97;
2275 }
2276 return base;
2277 }
2278
2279 /**
2280 * Converts a digit/integer into a basic code point.
2281 * @see `basicToDigit()`
2282 * @private
2283 * @param {Number} digit The numeric value of a basic code point.
2284 * @returns {Number} The basic code point whose value (when used for
2285 * representing integers) is `digit`, which needs to be in the range
2286 * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
2287 * used; else, the lowercase form is used. The behavior is undefined
2288 * if `flag` is non-zero and `digit` has no uppercase form.
2289 */
2290 function digitToBasic(digit, flag) {
2291 // 0..25 map to ASCII a..z or A..Z
2292 // 26..35 map to ASCII 0..9
2293 return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
2294 }
2295
2296 /**
2297 * Bias adaptation function as per section 3.4 of RFC 3492.
2298 * https://tools.ietf.org/html/rfc3492#section-3.4
2299 * @private
2300 */
2301 function adapt(delta, numPoints, firstTime) {
2302 var k = 0;
2303 delta = firstTime ? floor(delta / damp) : delta >> 1;
2304 delta += floor(delta / numPoints);
2305 for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
2306 delta = floor(delta / baseMinusTMin);
2307 }
2308 return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
2309 }
2310
2311 /**
2312 * Converts a Punycode string of ASCII-only symbols to a string of Unicode
2313 * symbols.
2314 * @memberOf punycode
2315 * @param {String} input The Punycode string of ASCII-only symbols.
2316 * @returns {String} The resulting string of Unicode symbols.
2317 */
2318 function decode(input) {
2319 // Don't use UCS-2
2320 var output = [],
2321 inputLength = input.length,
2322 out,
2323 i = 0,
2324 n = initialN,
2325 bias = initialBias,
2326 basic,
2327 j,
2328 index,
2329 oldi,
2330 w,
2331 k,
2332 digit,
2333 t,
2334 /** Cached calculation results */
2335 baseMinusT;
2336
2337 // Handle the basic code points: let `basic` be the number of input code
2338 // points before the last delimiter, or `0` if there is none, then copy
2339 // the first basic code points to the output.
2340
2341 basic = input.lastIndexOf(delimiter);
2342 if (basic < 0) {
2343 basic = 0;
2344 }
2345
2346 for (j = 0; j < basic; ++j) {
2347 // if it's not a basic code point
2348 if (input.charCodeAt(j) >= 0x80) {
2349 error('not-basic');
2350 }
2351 output.push(input.charCodeAt(j));
2352 }
2353
2354 // Main decoding loop: start just after the last delimiter if any basic code
2355 // points were copied; start at the beginning otherwise.
2356
2357 for (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
2358
2359 // `index` is the index of the next character to be consumed.
2360 // Decode a generalized variable-length integer into `delta`,
2361 // which gets added to `i`. The overflow checking is easier
2362 // if we increase `i` as we go, then subtract off its starting
2363 // value at the end to obtain `delta`.
2364 for (oldi = i, w = 1, k = base; /* no condition */; k += base) {
2365
2366 if (index >= inputLength) {
2367 error('invalid-input');
2368 }
2369
2370 digit = basicToDigit(input.charCodeAt(index++));
2371
2372 if (digit >= base || digit > floor((maxInt - i) / w)) {
2373 error('overflow');
2374 }
2375
2376 i += digit * w;
2377 t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
2378
2379 if (digit < t) {
2380 break;
2381 }
2382
2383 baseMinusT = base - t;
2384 if (w > floor(maxInt / baseMinusT)) {
2385 error('overflow');
2386 }
2387
2388 w *= baseMinusT;
2389
2390 }
2391
2392 out = output.length + 1;
2393 bias = adapt(i - oldi, out, oldi == 0);
2394
2395 // `i` was supposed to wrap around from `out` to `0`,
2396 // incrementing `n` each time, so we'll fix that now:
2397 if (floor(i / out) > maxInt - n) {
2398 error('overflow');
2399 }
2400
2401 n += floor(i / out);
2402 i %= out;
2403
2404 // Insert `n` at position `i` of the output
2405 output.splice(i++, 0, n);
2406
2407 }
2408
2409 return ucs2encode(output);
2410 }
2411
2412 /**
2413 * Converts a string of Unicode symbols (e.g. a domain name label) to a
2414 * Punycode string of ASCII-only symbols.
2415 * @memberOf punycode
2416 * @param {String} input The string of Unicode symbols.
2417 * @returns {String} The resulting Punycode string of ASCII-only symbols.
2418 */
2419 function encode(input) {
2420 var n,
2421 delta,
2422 handledCPCount,
2423 basicLength,
2424 bias,
2425 j,
2426 m,
2427 q,
2428 k,
2429 t,
2430 currentValue,
2431 output = [],
2432 /** `inputLength` will hold the number of code points in `input`. */
2433 inputLength,
2434 /** Cached calculation results */
2435 handledCPCountPlusOne,
2436 baseMinusT,
2437 qMinusT;
2438
2439 // Convert the input in UCS-2 to Unicode
2440 input = ucs2decode(input);
2441
2442 // Cache the length
2443 inputLength = input.length;
2444
2445 // Initialize the state
2446 n = initialN;
2447 delta = 0;
2448 bias = initialBias;
2449
2450 // Handle the basic code points
2451 for (j = 0; j < inputLength; ++j) {
2452 currentValue = input[j];
2453 if (currentValue < 0x80) {
2454 output.push(stringFromCharCode(currentValue));
2455 }
2456 }
2457
2458 handledCPCount = basicLength = output.length;
2459
2460 // `handledCPCount` is the number of code points that have been handled;
2461 // `basicLength` is the number of basic code points.
2462
2463 // Finish the basic string - if it is not empty - with a delimiter
2464 if (basicLength) {
2465 output.push(delimiter);
2466 }
2467
2468 // Main encoding loop:
2469 while (handledCPCount < inputLength) {
2470
2471 // All non-basic code points < n have been handled already. Find the next
2472 // larger one:
2473 for (m = maxInt, j = 0; j < inputLength; ++j) {
2474 currentValue = input[j];
2475 if (currentValue >= n && currentValue < m) {
2476 m = currentValue;
2477 }
2478 }
2479
2480 // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
2481 // but guard against overflow
2482 handledCPCountPlusOne = handledCPCount + 1;
2483 if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
2484 error('overflow');
2485 }
2486
2487 delta += (m - n) * handledCPCountPlusOne;
2488 n = m;
2489
2490 for (j = 0; j < inputLength; ++j) {
2491 currentValue = input[j];
2492
2493 if (currentValue < n && ++delta > maxInt) {
2494 error('overflow');
2495 }
2496
2497 if (currentValue == n) {
2498 // Represent delta as a generalized variable-length integer
2499 for (q = delta, k = base; /* no condition */; k += base) {
2500 t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
2501 if (q < t) {
2502 break;
2503 }
2504 qMinusT = q - t;
2505 baseMinusT = base - t;
2506 output.push(
2507 stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
2508 );
2509 q = floor(qMinusT / baseMinusT);
2510 }
2511
2512 output.push(stringFromCharCode(digitToBasic(q, 0)));
2513 bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
2514 delta = 0;
2515 ++handledCPCount;
2516 }
2517 }
2518
2519 ++delta;
2520 ++n;
2521
2522 }
2523 return output.join('');
2524 }
2525
2526 /**
2527 * Converts a Punycode string representing a domain name or an email address
2528 * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
2529 * it doesn't matter if you call it on a string that has already been
2530 * converted to Unicode.
2531 * @memberOf punycode
2532 * @param {String} input The Punycoded domain name or email address to
2533 * convert to Unicode.
2534 * @returns {String} The Unicode representation of the given Punycode
2535 * string.
2536 */
2537 function toUnicode(input) {
2538 return mapDomain(input, function(string) {
2539 return regexPunycode.test(string)
2540 ? decode(string.slice(4).toLowerCase())
2541 : string;
2542 });
2543 }
2544
2545 /**
2546 * Converts a Unicode string representing a domain name or an email address to
2547 * Punycode. Only the non-ASCII parts of the domain name will be converted,
2548 * i.e. it doesn't matter if you call it with a domain that's already in
2549 * ASCII.
2550 * @memberOf punycode
2551 * @param {String} input The domain name or email address to convert, as a
2552 * Unicode string.
2553 * @returns {String} The Punycode representation of the given domain name or
2554 * email address.
2555 */
2556 function toASCII(input) {
2557 return mapDomain(input, function(string) {
2558 return regexNonASCII.test(string)
2559 ? 'xn--' + encode(string)
2560 : string;
2561 });
2562 }
2563
2564 /*--------------------------------------------------------------------------*/
2565
2566 /** Define the public API */
2567 punycode = {
2568 /**
2569 * A string representing the current Punycode.js version number.
2570 * @memberOf punycode
2571 * @type String
2572 */
2573 'version': '1.4.1',
2574 /**
2575 * An object of methods to convert from JavaScript's internal character
2576 * representation (UCS-2) to Unicode code points, and back.
2577 * @see <https://mathiasbynens.be/notes/javascript-encoding>
2578 * @memberOf punycode
2579 * @type Object
2580 */
2581 'ucs2': {
2582 'decode': ucs2decode,
2583 'encode': ucs2encode
2584 },
2585 'decode': decode,
2586 'encode': encode,
2587 'toASCII': toASCII,
2588 'toUnicode': toUnicode
2589 };
2590
2591 /** Expose `punycode` */
2592 // Some AMD build optimizers, like r.js, check for specific condition patterns
2593 // like the following:
2594 if (
2595 typeof define == 'function' &&
2596 typeof define.amd == 'object' &&
2597 define.amd
2598 ) {
2599 define('punycode', function() {
2600 return punycode;
2601 });
2602 } else if (freeExports && freeModule) {
2603 if (module.exports == freeExports) {
2604 // in Node.js, io.js, or RingoJS v0.8.0+
2605 freeModule.exports = punycode;
2606 } else {
2607 // in Narwhal or RingoJS v0.7.0-
2608 for (key in punycode) {
2609 punycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);
2610 }
2611 }
2612 } else {
2613 // in Rhino or a web browser
2614 root.punycode = punycode;
2615 }
2616
2617}(this));
2618
2619}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
2620},{}],11:[function(require,module,exports){
2621/**
2622 * This file automatically generated from `pre-publish.js`.
2623 * Do not manually edit.
2624 */
2625
2626module.exports = {
2627 "area": true,
2628 "base": true,
2629 "br": true,
2630 "col": true,
2631 "embed": true,
2632 "hr": true,
2633 "img": true,
2634 "input": true,
2635 "keygen": true,
2636 "link": true,
2637 "menuitem": true,
2638 "meta": true,
2639 "param": true,
2640 "source": true,
2641 "track": true,
2642 "wbr": true
2643};
2644
2645},{}]},{},[4]);