context.js 66 KB

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