{"version":3,"sources":["../../.yarn/cache/browser-pack-npm-6.1.0-67557e011b-9e5993d3ee.zip/node_modules/browser-pack/_prelude.js","../../.yarn/cache/he-npm-1.2.0-3b73a2ff07-3d4d6babcc.zip/node_modules/he/he.js","../../.yarn/cache/querystring-es3-npm-0.2.1-f4632f2760-691e8d6b8b.zip/node_modules/querystring-es3/decode.js","../../.yarn/cache/querystring-es3-npm-0.2.1-f4632f2760-691e8d6b8b.zip/node_modules/querystring-es3/encode.js","../../.yarn/cache/querystring-es3-npm-0.2.1-f4632f2760-691e8d6b8b.zip/node_modules/querystring-es3/index.js","../../.yarn/cache/underscore-npm-1.13.6-3ebe9d92fb-d5cedd14a9.zip/node_modules/underscore/underscore-umd.js","business-objects/GeneratedCollectionDetails.js","lib/colorUtility.js","lib/getOptimizedCover-ts.js","models/dao/MediaParameters.js","public/ecmascript/components/GetACardModal/GetACardModal.html.js","public/ecmascript/components/GetACardModal/GetACardModal.js","public/ecmascript/components/campaign/templates/Campaign.html.js","public/ecmascript/components/campaign/views/Campaign.js","public/ecmascript/components/collection_campaign_page/CollectionDefinition.js","public/ecmascript/components/collection_campaign_page/CollectionHighlightFactory.js","public/ecmascript/components/collection_campaign_page/CollectionManager.js","public/ecmascript/components/collection_campaign_page/PageManager.js","public/ecmascript/components/collection_campaign_page/PageView.js","public/ecmascript/components/collection_highlight/templates/collection_highlight.html.js","public/ecmascript/components/collection_highlight/views/CollectionHighlight.js","public/ecmascript/components/collection_highlight_slanted/SlantedCollectionHightlight.html.js","public/ecmascript/components/collection_highlight_slanted/SlantedCollectionHightlight.js","public/ecmascript/components/common/HashManager.js","public/ecmascript/components/common/modal.js","public/ecmascript/components/common/templates/Error.html.js","public/ecmascript/components/common/templates/modal.html.js","public/ecmascript/components/libby_tout/LibbyTout.html.js","public/ecmascript/components/media/ContextMenu.js","public/ecmascript/components/media/Cover.js","public/ecmascript/components/media/MediaInterface.js","public/ecmascript/components/media/TitleActionButton.js","public/ecmascript/components/media/TitleCard.js","public/ecmascript/components/media/TitleCollectionView.js","public/ecmascript/components/media/TitleHeaderBar.js","public/ecmascript/components/media/WishListButton.js","public/ecmascript/components/media/models/Title.js","public/ecmascript/components/media/models/TitleCollection.js","public/ecmascript/components/media/templates/ContextMenu.html.js","public/ecmascript/components/media/templates/Cover.html.js","public/ecmascript/components/media/templates/NoCover.html.js","public/ecmascript/components/media/templates/TitleAuthor.html.js","public/ecmascript/components/media/templates/TitleCard.html.js","public/ecmascript/components/media/templates/TitleFormatBadge.html.js","public/ecmascript/components/media/templates/TitleName.html.js","public/ecmascript/components/media/templates/WishListButton.html.js","public/ecmascript/components/media/views/TitleInfo.js","public/ecmascript/components/media/views/TitleInfo/TitleAuthor.js","public/ecmascript/components/media/views/TitleInfo/TitleEdition.js","public/ecmascript/components/media/views/TitleInfo/TitleFormatBadge.js","public/ecmascript/components/media/views/TitleInfo/TitleName.js","public/ecmascript/models/PatronTitleStatus.js","public/ecmascript/pages/home.js","public/ecmascript/title-actions/TitleActions.js","public/ecmascript/title-actions/TitleState.js","public/ecmascript/util/Promise.js","public/ecmascript/util/keycodes.js","public/ecmascript/util/svgLoader.js","public/ecmascript/util/title-actions/processForwardedAction.js"],"names":[],"mappings":"AAAA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACzVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACrFA;AACA;AACA;AACA;AACA;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;AC1/DA,IAAM,IAAI,QAAQ,YAAR,CAAV;;AAEA;AACA,OAAO,OAAP;AACI,0CAAc;AAAA;;AACV,aAAK,SAAL,GAA0B,EAA1B;AACA,aAAK,QAAL,GAA0B,EAA1B;AACA,aAAK,iBAAL,GAA0B,IAA1B,CAHU,CAGsB;AAChC,aAAK,cAAL,GAA0B,EAA1B,CAJU,CAIoB;AAC9B,aAAK,QAAL,GAA0B,EAA1B,CALU,CAKoB;AAC9B,aAAK,UAAL,GAA0B,EAA1B;;AAEA,aAAK,MAAL,GAA0B,EAA1B;AACA,aAAK,QAAL,GAA0B,SAA1B,CATU,CAS2B;;AAErC,eAAO,MAA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","file":"home.bundle.min.js","sourcesContent":["(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\\u20D2|\\u205F\\u200A|\\u219D\\u0338|\\u2202\\u0338|\\u2220\\u20D2|\\u2229\\uFE00|\\u222A\\uFE00|\\u223C\\u20D2|\\u223D\\u0331|\\u223E\\u0333|\\u2242\\u0338|\\u224B\\u0338|\\u224D\\u20D2|\\u224E\\u0338|\\u224F\\u0338|\\u2250\\u0338|\\u2261\\u20E5|\\u2264\\u20D2|\\u2265\\u20D2|\\u2266\\u0338|\\u2267\\u0338|\\u2268\\uFE00|\\u2269\\uFE00|\\u226A\\u0338|\\u226A\\u20D2|\\u226B\\u0338|\\u226B\\u20D2|\\u227F\\u0338|\\u2282\\u20D2|\\u2283\\u20D2|\\u228A\\uFE00|\\u228B\\uFE00|\\u228F\\u0338|\\u2290\\u0338|\\u2293\\uFE00|\\u2294\\uFE00|\\u22B4\\u20D2|\\u22B5\\u20D2|\\u22D8\\u0338|\\u22D9\\u0338|\\u22DA\\uFE00|\\u22DB\\uFE00|\\u22F5\\u0338|\\u22F9\\u0338|\\u2933\\u0338|\\u29CF\\u0338|\\u29D0\\u0338|\\u2A6D\\u0338|\\u2A70\\u0338|\\u2A7D\\u0338|\\u2A7E\\u0338|\\u2AA1\\u0338|\\u2AA2\\u0338|\\u2AAC\\uFE00|\\u2AAD\\uFE00|\\u2AAF\\u0338|\\u2AB0\\u0338|\\u2AC5\\u0338|\\u2AC6\\u0338|\\u2ACB\\uFE00|\\u2ACC\\uFE00|\\u2AFD\\u20E5|[\\xA0-\\u0113\\u0116-\\u0122\\u0124-\\u012B\\u012E-\\u014D\\u0150-\\u017E\\u0192\\u01B5\\u01F5\\u0237\\u02C6\\u02C7\\u02D8-\\u02DD\\u0311\\u0391-\\u03A1\\u03A3-\\u03A9\\u03B1-\\u03C9\\u03D1\\u03D2\\u03D5\\u03D6\\u03DC\\u03DD\\u03F0\\u03F1\\u03F5\\u03F6\\u0401-\\u040C\\u040E-\\u044F\\u0451-\\u045C\\u045E\\u045F\\u2002-\\u2005\\u2007-\\u2010\\u2013-\\u2016\\u2018-\\u201A\\u201C-\\u201E\\u2020-\\u2022\\u2025\\u2026\\u2030-\\u2035\\u2039\\u203A\\u203E\\u2041\\u2043\\u2044\\u204F\\u2057\\u205F-\\u2063\\u20AC\\u20DB\\u20DC\\u2102\\u2105\\u210A-\\u2113\\u2115-\\u211E\\u2122\\u2124\\u2127-\\u2129\\u212C\\u212D\\u212F-\\u2131\\u2133-\\u2138\\u2145-\\u2148\\u2153-\\u215E\\u2190-\\u219B\\u219D-\\u21A7\\u21A9-\\u21AE\\u21B0-\\u21B3\\u21B5-\\u21B7\\u21BA-\\u21DB\\u21DD\\u21E4\\u21E5\\u21F5\\u21FD-\\u2205\\u2207-\\u2209\\u220B\\u220C\\u220F-\\u2214\\u2216-\\u2218\\u221A\\u221D-\\u2238\\u223A-\\u2257\\u2259\\u225A\\u225C\\u225F-\\u2262\\u2264-\\u228B\\u228D-\\u229B\\u229D-\\u22A5\\u22A7-\\u22B0\\u22B2-\\u22BB\\u22BD-\\u22DB\\u22DE-\\u22E3\\u22E6-\\u22F7\\u22F9-\\u22FE\\u2305\\u2306\\u2308-\\u2310\\u2312\\u2313\\u2315\\u2316\\u231C-\\u231F\\u2322\\u2323\\u232D\\u232E\\u2336\\u233D\\u233F\\u237C\\u23B0\\u23B1\\u23B4-\\u23B6\\u23DC-\\u23DF\\u23E2\\u23E7\\u2423\\u24C8\\u2500\\u2502\\u250C\\u2510\\u2514\\u2518\\u251C\\u2524\\u252C\\u2534\\u253C\\u2550-\\u256C\\u2580\\u2584\\u2588\\u2591-\\u2593\\u25A1\\u25AA\\u25AB\\u25AD\\u25AE\\u25B1\\u25B3-\\u25B5\\u25B8\\u25B9\\u25BD-\\u25BF\\u25C2\\u25C3\\u25CA\\u25CB\\u25EC\\u25EF\\u25F8-\\u25FC\\u2605\\u2606\\u260E\\u2640\\u2642\\u2660\\u2663\\u2665\\u2666\\u266A\\u266D-\\u266F\\u2713\\u2717\\u2720\\u2736\\u2758\\u2772\\u2773\\u27C8\\u27C9\\u27E6-\\u27ED\\u27F5-\\u27FA\\u27FC\\u27FF\\u2902-\\u2905\\u290C-\\u2913\\u2916\\u2919-\\u2920\\u2923-\\u292A\\u2933\\u2935-\\u2939\\u293C\\u293D\\u2945\\u2948-\\u294B\\u294E-\\u2976\\u2978\\u2979\\u297B-\\u297F\\u2985\\u2986\\u298B-\\u2996\\u299A\\u299C\\u299D\\u29A4-\\u29B7\\u29B9\\u29BB\\u29BC\\u29BE-\\u29C5\\u29C9\\u29CD-\\u29D0\\u29DC-\\u29DE\\u29E3-\\u29E5\\u29EB\\u29F4\\u29F6\\u2A00-\\u2A02\\u2A04\\u2A06\\u2A0C\\u2A0D\\u2A10-\\u2A17\\u2A22-\\u2A27\\u2A29\\u2A2A\\u2A2D-\\u2A31\\u2A33-\\u2A3C\\u2A3F\\u2A40\\u2A42-\\u2A4D\\u2A50\\u2A53-\\u2A58\\u2A5A-\\u2A5D\\u2A5F\\u2A66\\u2A6A\\u2A6D-\\u2A75\\u2A77-\\u2A9A\\u2A9D-\\u2AA2\\u2AA4-\\u2AB0\\u2AB3-\\u2AC8\\u2ACB\\u2ACC\\u2ACF-\\u2ADB\\u2AE4\\u2AE6-\\u2AE9\\u2AEB-\\u2AF3\\u2AFD\\uFB00-\\uFB04]|\\uD835[\\uDC9C\\uDC9E\\uDC9F\\uDCA2\\uDCA5\\uDCA6\\uDCA9-\\uDCAC\\uDCAE-\\uDCB9\\uDCBB\\uDCBD-\\uDCC3\\uDCC5-\\uDCCF\\uDD04\\uDD05\\uDD07-\\uDD0A\\uDD0D-\\uDD14\\uDD16-\\uDD1C\\uDD1E-\\uDD39\\uDD3B-\\uDD3E\\uDD40-\\uDD44\\uDD46\\uDD4A-\\uDD50\\uDD52-\\uDD6B]/g;\n\tvar encodeMap = {'\\xAD':'shy','\\u200C':'zwnj','\\u200D':'zwj','\\u200E':'lrm','\\u2063':'ic','\\u2062':'it','\\u2061':'af','\\u200F':'rlm','\\u200B':'ZeroWidthSpace','\\u2060':'NoBreak','\\u0311':'DownBreve','\\u20DB':'tdot','\\u20DC':'DotDot','\\t':'Tab','\\n':'NewLine','\\u2008':'puncsp','\\u205F':'MediumSpace','\\u2009':'thinsp','\\u200A':'hairsp','\\u2004':'emsp13','\\u2002':'ensp','\\u2005':'emsp14','\\u2003':'emsp','\\u2007':'numsp','\\xA0':'nbsp','\\u205F\\u200A':'ThickSpace','\\u203E':'oline','_':'lowbar','\\u2010':'dash','\\u2013':'ndash','\\u2014':'mdash','\\u2015':'horbar',',':'comma',';':'semi','\\u204F':'bsemi',':':'colon','\\u2A74':'Colone','!':'excl','\\xA1':'iexcl','?':'quest','\\xBF':'iquest','.':'period','\\u2025':'nldr','\\u2026':'mldr','\\xB7':'middot','\\'':'apos','\\u2018':'lsquo','\\u2019':'rsquo','\\u201A':'sbquo','\\u2039':'lsaquo','\\u203A':'rsaquo','\"':'quot','\\u201C':'ldquo','\\u201D':'rdquo','\\u201E':'bdquo','\\xAB':'laquo','\\xBB':'raquo','(':'lpar',')':'rpar','[':'lsqb',']':'rsqb','{':'lcub','}':'rcub','\\u2308':'lceil','\\u2309':'rceil','\\u230A':'lfloor','\\u230B':'rfloor','\\u2985':'lopar','\\u2986':'ropar','\\u298B':'lbrke','\\u298C':'rbrke','\\u298D':'lbrkslu','\\u298E':'rbrksld','\\u298F':'lbrksld','\\u2990':'rbrkslu','\\u2991':'langd','\\u2992':'rangd','\\u2993':'lparlt','\\u2994':'rpargt','\\u2995':'gtlPar','\\u2996':'ltrPar','\\u27E6':'lobrk','\\u27E7':'robrk','\\u27E8':'lang','\\u27E9':'rang','\\u27EA':'Lang','\\u27EB':'Rang','\\u27EC':'loang','\\u27ED':'roang','\\u2772':'lbbrk','\\u2773':'rbbrk','\\u2016':'Vert','\\xA7':'sect','\\xB6':'para','@':'commat','*':'ast','/':'sol','undefined':null,'&':'amp','#':'num','%':'percnt','\\u2030':'permil','\\u2031':'pertenk','\\u2020':'dagger','\\u2021':'Dagger','\\u2022':'bull','\\u2043':'hybull','\\u2032':'prime','\\u2033':'Prime','\\u2034':'tprime','\\u2057':'qprime','\\u2035':'bprime','\\u2041':'caret','`':'grave','\\xB4':'acute','\\u02DC':'tilde','^':'Hat','\\xAF':'macr','\\u02D8':'breve','\\u02D9':'dot','\\xA8':'die','\\u02DA':'ring','\\u02DD':'dblac','\\xB8':'cedil','\\u02DB':'ogon','\\u02C6':'circ','\\u02C7':'caron','\\xB0':'deg','\\xA9':'copy','\\xAE':'reg','\\u2117':'copysr','\\u2118':'wp','\\u211E':'rx','\\u2127':'mho','\\u2129':'iiota','\\u2190':'larr','\\u219A':'nlarr','\\u2192':'rarr','\\u219B':'nrarr','\\u2191':'uarr','\\u2193':'darr','\\u2194':'harr','\\u21AE':'nharr','\\u2195':'varr','\\u2196':'nwarr','\\u2197':'nearr','\\u2198':'searr','\\u2199':'swarr','\\u219D':'rarrw','\\u219D\\u0338':'nrarrw','\\u219E':'Larr','\\u219F':'Uarr','\\u21A0':'Rarr','\\u21A1':'Darr','\\u21A2':'larrtl','\\u21A3':'rarrtl','\\u21A4':'mapstoleft','\\u21A5':'mapstoup','\\u21A6':'map','\\u21A7':'mapstodown','\\u21A9':'larrhk','\\u21AA':'rarrhk','\\u21AB':'larrlp','\\u21AC':'rarrlp','\\u21AD':'harrw','\\u21B0':'lsh','\\u21B1':'rsh','\\u21B2':'ldsh','\\u21B3':'rdsh','\\u21B5':'crarr','\\u21B6':'cularr','\\u21B7':'curarr','\\u21BA':'olarr','\\u21BB':'orarr','\\u21BC':'lharu','\\u21BD':'lhard','\\u21BE':'uharr','\\u21BF':'uharl','\\u21C0':'rharu','\\u21C1':'rhard','\\u21C2':'dharr','\\u21C3':'dharl','\\u21C4':'rlarr','\\u21C5':'udarr','\\u21C6':'lrarr','\\u21C7':'llarr','\\u21C8':'uuarr','\\u21C9':'rrarr','\\u21CA':'ddarr','\\u21CB':'lrhar','\\u21CC':'rlhar','\\u21D0':'lArr','\\u21CD':'nlArr','\\u21D1':'uArr','\\u21D2':'rArr','\\u21CF':'nrArr','\\u21D3':'dArr','\\u21D4':'iff','\\u21CE':'nhArr','\\u21D5':'vArr','\\u21D6':'nwArr','\\u21D7':'neArr','\\u21D8':'seArr','\\u21D9':'swArr','\\u21DA':'lAarr','\\u21DB':'rAarr','\\u21DD':'zigrarr','\\u21E4':'larrb','\\u21E5':'rarrb','\\u21F5':'duarr','\\u21FD':'loarr','\\u21FE':'roarr','\\u21FF':'hoarr','\\u2200':'forall','\\u2201':'comp','\\u2202':'part','\\u2202\\u0338':'npart','\\u2203':'exist','\\u2204':'nexist','\\u2205':'empty','\\u2207':'Del','\\u2208':'in','\\u2209':'notin','\\u220B':'ni','\\u220C':'notni','\\u03F6':'bepsi','\\u220F':'prod','\\u2210':'coprod','\\u2211':'sum','+':'plus','\\xB1':'pm','\\xF7':'div','\\xD7':'times','<':'lt','\\u226E':'nlt','<\\u20D2':'nvlt','=':'equals','\\u2260':'ne','=\\u20E5':'bne','\\u2A75':'Equal','>':'gt','\\u226F':'ngt','>\\u20D2':'nvgt','\\xAC':'not','|':'vert','\\xA6':'brvbar','\\u2212':'minus','\\u2213':'mp','\\u2214':'plusdo','\\u2044':'frasl','\\u2216':'setmn','\\u2217':'lowast','\\u2218':'compfn','\\u221A':'Sqrt','\\u221D':'prop','\\u221E':'infin','\\u221F':'angrt','\\u2220':'ang','\\u2220\\u20D2':'nang','\\u2221':'angmsd','\\u2222':'angsph','\\u2223':'mid','\\u2224':'nmid','\\u2225':'par','\\u2226':'npar','\\u2227':'and','\\u2228':'or','\\u2229':'cap','\\u2229\\uFE00':'caps','\\u222A':'cup','\\u222A\\uFE00':'cups','\\u222B':'int','\\u222C':'Int','\\u222D':'tint','\\u2A0C':'qint','\\u222E':'oint','\\u222F':'Conint','\\u2230':'Cconint','\\u2231':'cwint','\\u2232':'cwconint','\\u2233':'awconint','\\u2234':'there4','\\u2235':'becaus','\\u2236':'ratio','\\u2237':'Colon','\\u2238':'minusd','\\u223A':'mDDot','\\u223B':'homtht','\\u223C':'sim','\\u2241':'nsim','\\u223C\\u20D2':'nvsim','\\u223D':'bsim','\\u223D\\u0331':'race','\\u223E':'ac','\\u223E\\u0333':'acE','\\u223F':'acd','\\u2240':'wr','\\u2242':'esim','\\u2242\\u0338':'nesim','\\u2243':'sime','\\u2244':'nsime','\\u2245':'cong','\\u2247':'ncong','\\u2246':'simne','\\u2248':'ap','\\u2249':'nap','\\u224A':'ape','\\u224B':'apid','\\u224B\\u0338':'napid','\\u224C':'bcong','\\u224D':'CupCap','\\u226D':'NotCupCap','\\u224D\\u20D2':'nvap','\\u224E':'bump','\\u224E\\u0338':'nbump','\\u224F':'bumpe','\\u224F\\u0338':'nbumpe','\\u2250':'doteq','\\u2250\\u0338':'nedot','\\u2251':'eDot','\\u2252':'efDot','\\u2253':'erDot','\\u2254':'colone','\\u2255':'ecolon','\\u2256':'ecir','\\u2257':'cire','\\u2259':'wedgeq','\\u225A':'veeeq','\\u225C':'trie','\\u225F':'equest','\\u2261':'equiv','\\u2262':'nequiv','\\u2261\\u20E5':'bnequiv','\\u2264':'le','\\u2270':'nle','\\u2264\\u20D2':'nvle','\\u2265':'ge','\\u2271':'nge','\\u2265\\u20D2':'nvge','\\u2266':'lE','\\u2266\\u0338':'nlE','\\u2267':'gE','\\u2267\\u0338':'ngE','\\u2268\\uFE00':'lvnE','\\u2268':'lnE','\\u2269':'gnE','\\u2269\\uFE00':'gvnE','\\u226A':'ll','\\u226A\\u0338':'nLtv','\\u226A\\u20D2':'nLt','\\u226B':'gg','\\u226B\\u0338':'nGtv','\\u226B\\u20D2':'nGt','\\u226C':'twixt','\\u2272':'lsim','\\u2274':'nlsim','\\u2273':'gsim','\\u2275':'ngsim','\\u2276':'lg','\\u2278':'ntlg','\\u2277':'gl','\\u2279':'ntgl','\\u227A':'pr','\\u2280':'npr','\\u227B':'sc','\\u2281':'nsc','\\u227C':'prcue','\\u22E0':'nprcue','\\u227D':'sccue','\\u22E1':'nsccue','\\u227E':'prsim','\\u227F':'scsim','\\u227F\\u0338':'NotSucceedsTilde','\\u2282':'sub','\\u2284':'nsub','\\u2282\\u20D2':'vnsub','\\u2283':'sup','\\u2285':'nsup','\\u2283\\u20D2':'vnsup','\\u2286':'sube','\\u2288':'nsube','\\u2287':'supe','\\u2289':'nsupe','\\u228A\\uFE00':'vsubne','\\u228A':'subne','\\u228B\\uFE00':'vsupne','\\u228B':'supne','\\u228D':'cupdot','\\u228E':'uplus','\\u228F':'sqsub','\\u228F\\u0338':'NotSquareSubset','\\u2290':'sqsup','\\u2290\\u0338':'NotSquareSuperset','\\u2291':'sqsube','\\u22E2':'nsqsube','\\u2292':'sqsupe','\\u22E3':'nsqsupe','\\u2293':'sqcap','\\u2293\\uFE00':'sqcaps','\\u2294':'sqcup','\\u2294\\uFE00':'sqcups','\\u2295':'oplus','\\u2296':'ominus','\\u2297':'otimes','\\u2298':'osol','\\u2299':'odot','\\u229A':'ocir','\\u229B':'oast','\\u229D':'odash','\\u229E':'plusb','\\u229F':'minusb','\\u22A0':'timesb','\\u22A1':'sdotb','\\u22A2':'vdash','\\u22AC':'nvdash','\\u22A3':'dashv','\\u22A4':'top','\\u22A5':'bot','\\u22A7':'models','\\u22A8':'vDash','\\u22AD':'nvDash','\\u22A9':'Vdash','\\u22AE':'nVdash','\\u22AA':'Vvdash','\\u22AB':'VDash','\\u22AF':'nVDash','\\u22B0':'prurel','\\u22B2':'vltri','\\u22EA':'nltri','\\u22B3':'vrtri','\\u22EB':'nrtri','\\u22B4':'ltrie','\\u22EC':'nltrie','\\u22B4\\u20D2':'nvltrie','\\u22B5':'rtrie','\\u22ED':'nrtrie','\\u22B5\\u20D2':'nvrtrie','\\u22B6':'origof','\\u22B7':'imof','\\u22B8':'mumap','\\u22B9':'hercon','\\u22BA':'intcal','\\u22BB':'veebar','\\u22BD':'barvee','\\u22BE':'angrtvb','\\u22BF':'lrtri','\\u22C0':'Wedge','\\u22C1':'Vee','\\u22C2':'xcap','\\u22C3':'xcup','\\u22C4':'diam','\\u22C5':'sdot','\\u22C6':'Star','\\u22C7':'divonx','\\u22C8':'bowtie','\\u22C9':'ltimes','\\u22CA':'rtimes','\\u22CB':'lthree','\\u22CC':'rthree','\\u22CD':'bsime','\\u22CE':'cuvee','\\u22CF':'cuwed','\\u22D0':'Sub','\\u22D1':'Sup','\\u22D2':'Cap','\\u22D3':'Cup','\\u22D4':'fork','\\u22D5':'epar','\\u22D6':'ltdot','\\u22D7':'gtdot','\\u22D8':'Ll','\\u22D8\\u0338':'nLl','\\u22D9':'Gg','\\u22D9\\u0338':'nGg','\\u22DA\\uFE00':'lesg','\\u22DA':'leg','\\u22DB':'gel','\\u22DB\\uFE00':'gesl','\\u22DE':'cuepr','\\u22DF':'cuesc','\\u22E6':'lnsim','\\u22E7':'gnsim','\\u22E8':'prnsim','\\u22E9':'scnsim','\\u22EE':'vellip','\\u22EF':'ctdot','\\u22F0':'utdot','\\u22F1':'dtdot','\\u22F2':'disin','\\u22F3':'isinsv','\\u22F4':'isins','\\u22F5':'isindot','\\u22F5\\u0338':'notindot','\\u22F6':'notinvc','\\u22F7':'notinvb','\\u22F9':'isinE','\\u22F9\\u0338':'notinE','\\u22FA':'nisd','\\u22FB':'xnis','\\u22FC':'nis','\\u22FD':'notnivc','\\u22FE':'notnivb','\\u2305':'barwed','\\u2306':'Barwed','\\u230C':'drcrop','\\u230D':'dlcrop','\\u230E':'urcrop','\\u230F':'ulcrop','\\u2310':'bnot','\\u2312':'profline','\\u2313':'profsurf','\\u2315':'telrec','\\u2316':'target','\\u231C':'ulcorn','\\u231D':'urcorn','\\u231E':'dlcorn','\\u231F':'drcorn','\\u2322':'frown','\\u2323':'smile','\\u232D':'cylcty','\\u232E':'profalar','\\u2336':'topbot','\\u233D':'ovbar','\\u233F':'solbar','\\u237C':'angzarr','\\u23B0':'lmoust','\\u23B1':'rmoust','\\u23B4':'tbrk','\\u23B5':'bbrk','\\u23B6':'bbrktbrk','\\u23DC':'OverParenthesis','\\u23DD':'UnderParenthesis','\\u23DE':'OverBrace','\\u23DF':'UnderBrace','\\u23E2':'trpezium','\\u23E7':'elinters','\\u2423':'blank','\\u2500':'boxh','\\u2502':'boxv','\\u250C':'boxdr','\\u2510':'boxdl','\\u2514':'boxur','\\u2518':'boxul','\\u251C':'boxvr','\\u2524':'boxvl','\\u252C':'boxhd','\\u2534':'boxhu','\\u253C':'boxvh','\\u2550':'boxH','\\u2551':'boxV','\\u2552':'boxdR','\\u2553':'boxDr','\\u2554':'boxDR','\\u2555':'boxdL','\\u2556':'boxDl','\\u2557':'boxDL','\\u2558':'boxuR','\\u2559':'boxUr','\\u255A':'boxUR','\\u255B':'boxuL','\\u255C':'boxUl','\\u255D':'boxUL','\\u255E':'boxvR','\\u255F':'boxVr','\\u2560':'boxVR','\\u2561':'boxvL','\\u2562':'boxVl','\\u2563':'boxVL','\\u2564':'boxHd','\\u2565':'boxhD','\\u2566':'boxHD','\\u2567':'boxHu','\\u2568':'boxhU','\\u2569':'boxHU','\\u256A':'boxvH','\\u256B':'boxVh','\\u256C':'boxVH','\\u2580':'uhblk','\\u2584':'lhblk','\\u2588':'block','\\u2591':'blk14','\\u2592':'blk12','\\u2593':'blk34','\\u25A1':'squ','\\u25AA':'squf','\\u25AB':'EmptyVerySmallSquare','\\u25AD':'rect','\\u25AE':'marker','\\u25B1':'fltns','\\u25B3':'xutri','\\u25B4':'utrif','\\u25B5':'utri','\\u25B8':'rtrif','\\u25B9':'rtri','\\u25BD':'xdtri','\\u25BE':'dtrif','\\u25BF':'dtri','\\u25C2':'ltrif','\\u25C3':'ltri','\\u25CA':'loz','\\u25CB':'cir','\\u25EC':'tridot','\\u25EF':'xcirc','\\u25F8':'ultri','\\u25F9':'urtri','\\u25FA':'lltri','\\u25FB':'EmptySmallSquare','\\u25FC':'FilledSmallSquare','\\u2605':'starf','\\u2606':'star','\\u260E':'phone','\\u2640':'female','\\u2642':'male','\\u2660':'spades','\\u2663':'clubs','\\u2665':'hearts','\\u2666':'diams','\\u266A':'sung','\\u2713':'check','\\u2717':'cross','\\u2720':'malt','\\u2736':'sext','\\u2758':'VerticalSeparator','\\u27C8':'bsolhsub','\\u27C9':'suphsol','\\u27F5':'xlarr','\\u27F6':'xrarr','\\u27F7':'xharr','\\u27F8':'xlArr','\\u27F9':'xrArr','\\u27FA':'xhArr','\\u27FC':'xmap','\\u27FF':'dzigrarr','\\u2902':'nvlArr','\\u2903':'nvrArr','\\u2904':'nvHarr','\\u2905':'Map','\\u290C':'lbarr','\\u290D':'rbarr','\\u290E':'lBarr','\\u290F':'rBarr','\\u2910':'RBarr','\\u2911':'DDotrahd','\\u2912':'UpArrowBar','\\u2913':'DownArrowBar','\\u2916':'Rarrtl','\\u2919':'latail','\\u291A':'ratail','\\u291B':'lAtail','\\u291C':'rAtail','\\u291D':'larrfs','\\u291E':'rarrfs','\\u291F':'larrbfs','\\u2920':'rarrbfs','\\u2923':'nwarhk','\\u2924':'nearhk','\\u2925':'searhk','\\u2926':'swarhk','\\u2927':'nwnear','\\u2928':'toea','\\u2929':'tosa','\\u292A':'swnwar','\\u2933':'rarrc','\\u2933\\u0338':'nrarrc','\\u2935':'cudarrr','\\u2936':'ldca','\\u2937':'rdca','\\u2938':'cudarrl','\\u2939':'larrpl','\\u293C':'curarrm','\\u293D':'cularrp','\\u2945':'rarrpl','\\u2948':'harrcir','\\u2949':'Uarrocir','\\u294A':'lurdshar','\\u294B':'ldrushar','\\u294E':'LeftRightVector','\\u294F':'RightUpDownVector','\\u2950':'DownLeftRightVector','\\u2951':'LeftUpDownVector','\\u2952':'LeftVectorBar','\\u2953':'RightVectorBar','\\u2954':'RightUpVectorBar','\\u2955':'RightDownVectorBar','\\u2956':'DownLeftVectorBar','\\u2957':'DownRightVectorBar','\\u2958':'LeftUpVectorBar','\\u2959':'LeftDownVectorBar','\\u295A':'LeftTeeVector','\\u295B':'RightTeeVector','\\u295C':'RightUpTeeVector','\\u295D':'RightDownTeeVector','\\u295E':'DownLeftTeeVector','\\u295F':'DownRightTeeVector','\\u2960':'LeftUpTeeVector','\\u2961':'LeftDownTeeVector','\\u2962':'lHar','\\u2963':'uHar','\\u2964':'rHar','\\u2965':'dHar','\\u2966':'luruhar','\\u2967':'ldrdhar','\\u2968':'ruluhar','\\u2969':'rdldhar','\\u296A':'lharul','\\u296B':'llhard','\\u296C':'rharul','\\u296D':'lrhard','\\u296E':'udhar','\\u296F':'duhar','\\u2970':'RoundImplies','\\u2971':'erarr','\\u2972':'simrarr','\\u2973':'larrsim','\\u2974':'rarrsim','\\u2975':'rarrap','\\u2976':'ltlarr','\\u2978':'gtrarr','\\u2979':'subrarr','\\u297B':'suplarr','\\u297C':'lfisht','\\u297D':'rfisht','\\u297E':'ufisht','\\u297F':'dfisht','\\u299A':'vzigzag','\\u299C':'vangrt','\\u299D':'angrtvbd','\\u29A4':'ange','\\u29A5':'range','\\u29A6':'dwangle','\\u29A7':'uwangle','\\u29A8':'angmsdaa','\\u29A9':'angmsdab','\\u29AA':'angmsdac','\\u29AB':'angmsdad','\\u29AC':'angmsdae','\\u29AD':'angmsdaf','\\u29AE':'angmsdag','\\u29AF':'angmsdah','\\u29B0':'bemptyv','\\u29B1':'demptyv','\\u29B2':'cemptyv','\\u29B3':'raemptyv','\\u29B4':'laemptyv','\\u29B5':'ohbar','\\u29B6':'omid','\\u29B7':'opar','\\u29B9':'operp','\\u29BB':'olcross','\\u29BC':'odsold','\\u29BE':'olcir','\\u29BF':'ofcir','\\u29C0':'olt','\\u29C1':'ogt','\\u29C2':'cirscir','\\u29C3':'cirE','\\u29C4':'solb','\\u29C5':'bsolb','\\u29C9':'boxbox','\\u29CD':'trisb','\\u29CE':'rtriltri','\\u29CF':'LeftTriangleBar','\\u29CF\\u0338':'NotLeftTriangleBar','\\u29D0':'RightTriangleBar','\\u29D0\\u0338':'NotRightTriangleBar','\\u29DC':'iinfin','\\u29DD':'infintie','\\u29DE':'nvinfin','\\u29E3':'eparsl','\\u29E4':'smeparsl','\\u29E5':'eqvparsl','\\u29EB':'lozf','\\u29F4':'RuleDelayed','\\u29F6':'dsol','\\u2A00':'xodot','\\u2A01':'xoplus','\\u2A02':'xotime','\\u2A04':'xuplus','\\u2A06':'xsqcup','\\u2A0D':'fpartint','\\u2A10':'cirfnint','\\u2A11':'awint','\\u2A12':'rppolint','\\u2A13':'scpolint','\\u2A14':'npolint','\\u2A15':'pointint','\\u2A16':'quatint','\\u2A17':'intlarhk','\\u2A22':'pluscir','\\u2A23':'plusacir','\\u2A24':'simplus','\\u2A25':'plusdu','\\u2A26':'plussim','\\u2A27':'plustwo','\\u2A29':'mcomma','\\u2A2A':'minusdu','\\u2A2D':'loplus','\\u2A2E':'roplus','\\u2A2F':'Cross','\\u2A30':'timesd','\\u2A31':'timesbar','\\u2A33':'smashp','\\u2A34':'lotimes','\\u2A35':'rotimes','\\u2A36':'otimesas','\\u2A37':'Otimes','\\u2A38':'odiv','\\u2A39':'triplus','\\u2A3A':'triminus','\\u2A3B':'tritime','\\u2A3C':'iprod','\\u2A3F':'amalg','\\u2A40':'capdot','\\u2A42':'ncup','\\u2A43':'ncap','\\u2A44':'capand','\\u2A45':'cupor','\\u2A46':'cupcap','\\u2A47':'capcup','\\u2A48':'cupbrcap','\\u2A49':'capbrcup','\\u2A4A':'cupcup','\\u2A4B':'capcap','\\u2A4C':'ccups','\\u2A4D':'ccaps','\\u2A50':'ccupssm','\\u2A53':'And','\\u2A54':'Or','\\u2A55':'andand','\\u2A56':'oror','\\u2A57':'orslope','\\u2A58':'andslope','\\u2A5A':'andv','\\u2A5B':'orv','\\u2A5C':'andd','\\u2A5D':'ord','\\u2A5F':'wedbar','\\u2A66':'sdote','\\u2A6A':'simdot','\\u2A6D':'congdot','\\u2A6D\\u0338':'ncongdot','\\u2A6E':'easter','\\u2A6F':'apacir','\\u2A70':'apE','\\u2A70\\u0338':'napE','\\u2A71':'eplus','\\u2A72':'pluse','\\u2A73':'Esim','\\u2A77':'eDDot','\\u2A78':'equivDD','\\u2A79':'ltcir','\\u2A7A':'gtcir','\\u2A7B':'ltquest','\\u2A7C':'gtquest','\\u2A7D':'les','\\u2A7D\\u0338':'nles','\\u2A7E':'ges','\\u2A7E\\u0338':'nges','\\u2A7F':'lesdot','\\u2A80':'gesdot','\\u2A81':'lesdoto','\\u2A82':'gesdoto','\\u2A83':'lesdotor','\\u2A84':'gesdotol','\\u2A85':'lap','\\u2A86':'gap','\\u2A87':'lne','\\u2A88':'gne','\\u2A89':'lnap','\\u2A8A':'gnap','\\u2A8B':'lEg','\\u2A8C':'gEl','\\u2A8D':'lsime','\\u2A8E':'gsime','\\u2A8F':'lsimg','\\u2A90':'gsiml','\\u2A91':'lgE','\\u2A92':'glE','\\u2A93':'lesges','\\u2A94':'gesles','\\u2A95':'els','\\u2A96':'egs','\\u2A97':'elsdot','\\u2A98':'egsdot','\\u2A99':'el','\\u2A9A':'eg','\\u2A9D':'siml','\\u2A9E':'simg','\\u2A9F':'simlE','\\u2AA0':'simgE','\\u2AA1':'LessLess','\\u2AA1\\u0338':'NotNestedLessLess','\\u2AA2':'GreaterGreater','\\u2AA2\\u0338':'NotNestedGreaterGreater','\\u2AA4':'glj','\\u2AA5':'gla','\\u2AA6':'ltcc','\\u2AA7':'gtcc','\\u2AA8':'lescc','\\u2AA9':'gescc','\\u2AAA':'smt','\\u2AAB':'lat','\\u2AAC':'smte','\\u2AAC\\uFE00':'smtes','\\u2AAD':'late','\\u2AAD\\uFE00':'lates','\\u2AAE':'bumpE','\\u2AAF':'pre','\\u2AAF\\u0338':'npre','\\u2AB0':'sce','\\u2AB0\\u0338':'nsce','\\u2AB3':'prE','\\u2AB4':'scE','\\u2AB5':'prnE','\\u2AB6':'scnE','\\u2AB7':'prap','\\u2AB8':'scap','\\u2AB9':'prnap','\\u2ABA':'scnap','\\u2ABB':'Pr','\\u2ABC':'Sc','\\u2ABD':'subdot','\\u2ABE':'supdot','\\u2ABF':'subplus','\\u2AC0':'supplus','\\u2AC1':'submult','\\u2AC2':'supmult','\\u2AC3':'subedot','\\u2AC4':'supedot','\\u2AC5':'subE','\\u2AC5\\u0338':'nsubE','\\u2AC6':'supE','\\u2AC6\\u0338':'nsupE','\\u2AC7':'subsim','\\u2AC8':'supsim','\\u2ACB\\uFE00':'vsubnE','\\u2ACB':'subnE','\\u2ACC\\uFE00':'vsupnE','\\u2ACC':'supnE','\\u2ACF':'csub','\\u2AD0':'csup','\\u2AD1':'csube','\\u2AD2':'csupe','\\u2AD3':'subsup','\\u2AD4':'supsub','\\u2AD5':'subsub','\\u2AD6':'supsup','\\u2AD7':'suphsub','\\u2AD8':'supdsub','\\u2AD9':'forkv','\\u2ADA':'topfork','\\u2ADB':'mlcp','\\u2AE4':'Dashv','\\u2AE6':'Vdashl','\\u2AE7':'Barv','\\u2AE8':'vBar','\\u2AE9':'vBarv','\\u2AEB':'Vbar','\\u2AEC':'Not','\\u2AED':'bNot','\\u2AEE':'rnmid','\\u2AEF':'cirmid','\\u2AF0':'midcir','\\u2AF1':'topcir','\\u2AF2':'nhpar','\\u2AF3':'parsim','\\u2AFD':'parsl','\\u2AFD\\u20E5':'nparsl','\\u266D':'flat','\\u266E':'natur','\\u266F':'sharp','\\xA4':'curren','\\xA2':'cent','$':'dollar','\\xA3':'pound','\\xA5':'yen','\\u20AC':'euro','\\xB9':'sup1','\\xBD':'half','\\u2153':'frac13','\\xBC':'frac14','\\u2155':'frac15','\\u2159':'frac16','\\u215B':'frac18','\\xB2':'sup2','\\u2154':'frac23','\\u2156':'frac25','\\xB3':'sup3','\\xBE':'frac34','\\u2157':'frac35','\\u215C':'frac38','\\u2158':'frac45','\\u215A':'frac56','\\u215D':'frac58','\\u215E':'frac78','\\uD835\\uDCB6':'ascr','\\uD835\\uDD52':'aopf','\\uD835\\uDD1E':'afr','\\uD835\\uDD38':'Aopf','\\uD835\\uDD04':'Afr','\\uD835\\uDC9C':'Ascr','\\xAA':'ordf','\\xE1':'aacute','\\xC1':'Aacute','\\xE0':'agrave','\\xC0':'Agrave','\\u0103':'abreve','\\u0102':'Abreve','\\xE2':'acirc','\\xC2':'Acirc','\\xE5':'aring','\\xC5':'angst','\\xE4':'auml','\\xC4':'Auml','\\xE3':'atilde','\\xC3':'Atilde','\\u0105':'aogon','\\u0104':'Aogon','\\u0101':'amacr','\\u0100':'Amacr','\\xE6':'aelig','\\xC6':'AElig','\\uD835\\uDCB7':'bscr','\\uD835\\uDD53':'bopf','\\uD835\\uDD1F':'bfr','\\uD835\\uDD39':'Bopf','\\u212C':'Bscr','\\uD835\\uDD05':'Bfr','\\uD835\\uDD20':'cfr','\\uD835\\uDCB8':'cscr','\\uD835\\uDD54':'copf','\\u212D':'Cfr','\\uD835\\uDC9E':'Cscr','\\u2102':'Copf','\\u0107':'cacute','\\u0106':'Cacute','\\u0109':'ccirc','\\u0108':'Ccirc','\\u010D':'ccaron','\\u010C':'Ccaron','\\u010B':'cdot','\\u010A':'Cdot','\\xE7':'ccedil','\\xC7':'Ccedil','\\u2105':'incare','\\uD835\\uDD21':'dfr','\\u2146':'dd','\\uD835\\uDD55':'dopf','\\uD835\\uDCB9':'dscr','\\uD835\\uDC9F':'Dscr','\\uD835\\uDD07':'Dfr','\\u2145':'DD','\\uD835\\uDD3B':'Dopf','\\u010F':'dcaron','\\u010E':'Dcaron','\\u0111':'dstrok','\\u0110':'Dstrok','\\xF0':'eth','\\xD0':'ETH','\\u2147':'ee','\\u212F':'escr','\\uD835\\uDD22':'efr','\\uD835\\uDD56':'eopf','\\u2130':'Escr','\\uD835\\uDD08':'Efr','\\uD835\\uDD3C':'Eopf','\\xE9':'eacute','\\xC9':'Eacute','\\xE8':'egrave','\\xC8':'Egrave','\\xEA':'ecirc','\\xCA':'Ecirc','\\u011B':'ecaron','\\u011A':'Ecaron','\\xEB':'euml','\\xCB':'Euml','\\u0117':'edot','\\u0116':'Edot','\\u0119':'eogon','\\u0118':'Eogon','\\u0113':'emacr','\\u0112':'Emacr','\\uD835\\uDD23':'ffr','\\uD835\\uDD57':'fopf','\\uD835\\uDCBB':'fscr','\\uD835\\uDD09':'Ffr','\\uD835\\uDD3D':'Fopf','\\u2131':'Fscr','\\uFB00':'fflig','\\uFB03':'ffilig','\\uFB04':'ffllig','\\uFB01':'filig','fj':'fjlig','\\uFB02':'fllig','\\u0192':'fnof','\\u210A':'gscr','\\uD835\\uDD58':'gopf','\\uD835\\uDD24':'gfr','\\uD835\\uDCA2':'Gscr','\\uD835\\uDD3E':'Gopf','\\uD835\\uDD0A':'Gfr','\\u01F5':'gacute','\\u011F':'gbreve','\\u011E':'Gbreve','\\u011D':'gcirc','\\u011C':'Gcirc','\\u0121':'gdot','\\u0120':'Gdot','\\u0122':'Gcedil','\\uD835\\uDD25':'hfr','\\u210E':'planckh','\\uD835\\uDCBD':'hscr','\\uD835\\uDD59':'hopf','\\u210B':'Hscr','\\u210C':'Hfr','\\u210D':'Hopf','\\u0125':'hcirc','\\u0124':'Hcirc','\\u210F':'hbar','\\u0127':'hstrok','\\u0126':'Hstrok','\\uD835\\uDD5A':'iopf','\\uD835\\uDD26':'ifr','\\uD835\\uDCBE':'iscr','\\u2148':'ii','\\uD835\\uDD40':'Iopf','\\u2110':'Iscr','\\u2111':'Im','\\xED':'iacute','\\xCD':'Iacute','\\xEC':'igrave','\\xCC':'Igrave','\\xEE':'icirc','\\xCE':'Icirc','\\xEF':'iuml','\\xCF':'Iuml','\\u0129':'itilde','\\u0128':'Itilde','\\u0130':'Idot','\\u012F':'iogon','\\u012E':'Iogon','\\u012B':'imacr','\\u012A':'Imacr','\\u0133':'ijlig','\\u0132':'IJlig','\\u0131':'imath','\\uD835\\uDCBF':'jscr','\\uD835\\uDD5B':'jopf','\\uD835\\uDD27':'jfr','\\uD835\\uDCA5':'Jscr','\\uD835\\uDD0D':'Jfr','\\uD835\\uDD41':'Jopf','\\u0135':'jcirc','\\u0134':'Jcirc','\\u0237':'jmath','\\uD835\\uDD5C':'kopf','\\uD835\\uDCC0':'kscr','\\uD835\\uDD28':'kfr','\\uD835\\uDCA6':'Kscr','\\uD835\\uDD42':'Kopf','\\uD835\\uDD0E':'Kfr','\\u0137':'kcedil','\\u0136':'Kcedil','\\uD835\\uDD29':'lfr','\\uD835\\uDCC1':'lscr','\\u2113':'ell','\\uD835\\uDD5D':'lopf','\\u2112':'Lscr','\\uD835\\uDD0F':'Lfr','\\uD835\\uDD43':'Lopf','\\u013A':'lacute','\\u0139':'Lacute','\\u013E':'lcaron','\\u013D':'Lcaron','\\u013C':'lcedil','\\u013B':'Lcedil','\\u0142':'lstrok','\\u0141':'Lstrok','\\u0140':'lmidot','\\u013F':'Lmidot','\\uD835\\uDD2A':'mfr','\\uD835\\uDD5E':'mopf','\\uD835\\uDCC2':'mscr','\\uD835\\uDD10':'Mfr','\\uD835\\uDD44':'Mopf','\\u2133':'Mscr','\\uD835\\uDD2B':'nfr','\\uD835\\uDD5F':'nopf','\\uD835\\uDCC3':'nscr','\\u2115':'Nopf','\\uD835\\uDCA9':'Nscr','\\uD835\\uDD11':'Nfr','\\u0144':'nacute','\\u0143':'Nacute','\\u0148':'ncaron','\\u0147':'Ncaron','\\xF1':'ntilde','\\xD1':'Ntilde','\\u0146':'ncedil','\\u0145':'Ncedil','\\u2116':'numero','\\u014B':'eng','\\u014A':'ENG','\\uD835\\uDD60':'oopf','\\uD835\\uDD2C':'ofr','\\u2134':'oscr','\\uD835\\uDCAA':'Oscr','\\uD835\\uDD12':'Ofr','\\uD835\\uDD46':'Oopf','\\xBA':'ordm','\\xF3':'oacute','\\xD3':'Oacute','\\xF2':'ograve','\\xD2':'Ograve','\\xF4':'ocirc','\\xD4':'Ocirc','\\xF6':'ouml','\\xD6':'Ouml','\\u0151':'odblac','\\u0150':'Odblac','\\xF5':'otilde','\\xD5':'Otilde','\\xF8':'oslash','\\xD8':'Oslash','\\u014D':'omacr','\\u014C':'Omacr','\\u0153':'oelig','\\u0152':'OElig','\\uD835\\uDD2D':'pfr','\\uD835\\uDCC5':'pscr','\\uD835\\uDD61':'popf','\\u2119':'Popf','\\uD835\\uDD13':'Pfr','\\uD835\\uDCAB':'Pscr','\\uD835\\uDD62':'qopf','\\uD835\\uDD2E':'qfr','\\uD835\\uDCC6':'qscr','\\uD835\\uDCAC':'Qscr','\\uD835\\uDD14':'Qfr','\\u211A':'Qopf','\\u0138':'kgreen','\\uD835\\uDD2F':'rfr','\\uD835\\uDD63':'ropf','\\uD835\\uDCC7':'rscr','\\u211B':'Rscr','\\u211C':'Re','\\u211D':'Ropf','\\u0155':'racute','\\u0154':'Racute','\\u0159':'rcaron','\\u0158':'Rcaron','\\u0157':'rcedil','\\u0156':'Rcedil','\\uD835\\uDD64':'sopf','\\uD835\\uDCC8':'sscr','\\uD835\\uDD30':'sfr','\\uD835\\uDD4A':'Sopf','\\uD835\\uDD16':'Sfr','\\uD835\\uDCAE':'Sscr','\\u24C8':'oS','\\u015B':'sacute','\\u015A':'Sacute','\\u015D':'scirc','\\u015C':'Scirc','\\u0161':'scaron','\\u0160':'Scaron','\\u015F':'scedil','\\u015E':'Scedil','\\xDF':'szlig','\\uD835\\uDD31':'tfr','\\uD835\\uDCC9':'tscr','\\uD835\\uDD65':'topf','\\uD835\\uDCAF':'Tscr','\\uD835\\uDD17':'Tfr','\\uD835\\uDD4B':'Topf','\\u0165':'tcaron','\\u0164':'Tcaron','\\u0163':'tcedil','\\u0162':'Tcedil','\\u2122':'trade','\\u0167':'tstrok','\\u0166':'Tstrok','\\uD835\\uDCCA':'uscr','\\uD835\\uDD66':'uopf','\\uD835\\uDD32':'ufr','\\uD835\\uDD4C':'Uopf','\\uD835\\uDD18':'Ufr','\\uD835\\uDCB0':'Uscr','\\xFA':'uacute','\\xDA':'Uacute','\\xF9':'ugrave','\\xD9':'Ugrave','\\u016D':'ubreve','\\u016C':'Ubreve','\\xFB':'ucirc','\\xDB':'Ucirc','\\u016F':'uring','\\u016E':'Uring','\\xFC':'uuml','\\xDC':'Uuml','\\u0171':'udblac','\\u0170':'Udblac','\\u0169':'utilde','\\u0168':'Utilde','\\u0173':'uogon','\\u0172':'Uogon','\\u016B':'umacr','\\u016A':'Umacr','\\uD835\\uDD33':'vfr','\\uD835\\uDD67':'vopf','\\uD835\\uDCCB':'vscr','\\uD835\\uDD19':'Vfr','\\uD835\\uDD4D':'Vopf','\\uD835\\uDCB1':'Vscr','\\uD835\\uDD68':'wopf','\\uD835\\uDCCC':'wscr','\\uD835\\uDD34':'wfr','\\uD835\\uDCB2':'Wscr','\\uD835\\uDD4E':'Wopf','\\uD835\\uDD1A':'Wfr','\\u0175':'wcirc','\\u0174':'Wcirc','\\uD835\\uDD35':'xfr','\\uD835\\uDCCD':'xscr','\\uD835\\uDD69':'xopf','\\uD835\\uDD4F':'Xopf','\\uD835\\uDD1B':'Xfr','\\uD835\\uDCB3':'Xscr','\\uD835\\uDD36':'yfr','\\uD835\\uDCCE':'yscr','\\uD835\\uDD6A':'yopf','\\uD835\\uDCB4':'Yscr','\\uD835\\uDD1C':'Yfr','\\uD835\\uDD50':'Yopf','\\xFD':'yacute','\\xDD':'Yacute','\\u0177':'ycirc','\\u0176':'Ycirc','\\xFF':'yuml','\\u0178':'Yuml','\\uD835\\uDCCF':'zscr','\\uD835\\uDD37':'zfr','\\uD835\\uDD6B':'zopf','\\u2128':'Zfr','\\u2124':'Zopf','\\uD835\\uDCB5':'Zscr','\\u017A':'zacute','\\u0179':'Zacute','\\u017E':'zcaron','\\u017D':'Zcaron','\\u017C':'zdot','\\u017B':'Zdot','\\u01B5':'imped','\\xFE':'thorn','\\xDE':'THORN','\\u0149':'napos','\\u03B1':'alpha','\\u0391':'Alpha','\\u03B2':'beta','\\u0392':'Beta','\\u03B3':'gamma','\\u0393':'Gamma','\\u03B4':'delta','\\u0394':'Delta','\\u03B5':'epsi','\\u03F5':'epsiv','\\u0395':'Epsilon','\\u03DD':'gammad','\\u03DC':'Gammad','\\u03B6':'zeta','\\u0396':'Zeta','\\u03B7':'eta','\\u0397':'Eta','\\u03B8':'theta','\\u03D1':'thetav','\\u0398':'Theta','\\u03B9':'iota','\\u0399':'Iota','\\u03BA':'kappa','\\u03F0':'kappav','\\u039A':'Kappa','\\u03BB':'lambda','\\u039B':'Lambda','\\u03BC':'mu','\\xB5':'micro','\\u039C':'Mu','\\u03BD':'nu','\\u039D':'Nu','\\u03BE':'xi','\\u039E':'Xi','\\u03BF':'omicron','\\u039F':'Omicron','\\u03C0':'pi','\\u03D6':'piv','\\u03A0':'Pi','\\u03C1':'rho','\\u03F1':'rhov','\\u03A1':'Rho','\\u03C3':'sigma','\\u03A3':'Sigma','\\u03C2':'sigmaf','\\u03C4':'tau','\\u03A4':'Tau','\\u03C5':'upsi','\\u03A5':'Upsilon','\\u03D2':'Upsi','\\u03C6':'phi','\\u03D5':'phiv','\\u03A6':'Phi','\\u03C7':'chi','\\u03A7':'Chi','\\u03C8':'psi','\\u03A8':'Psi','\\u03C9':'omega','\\u03A9':'ohm','\\u0430':'acy','\\u0410':'Acy','\\u0431':'bcy','\\u0411':'Bcy','\\u0432':'vcy','\\u0412':'Vcy','\\u0433':'gcy','\\u0413':'Gcy','\\u0453':'gjcy','\\u0403':'GJcy','\\u0434':'dcy','\\u0414':'Dcy','\\u0452':'djcy','\\u0402':'DJcy','\\u0435':'iecy','\\u0415':'IEcy','\\u0451':'iocy','\\u0401':'IOcy','\\u0454':'jukcy','\\u0404':'Jukcy','\\u0436':'zhcy','\\u0416':'ZHcy','\\u0437':'zcy','\\u0417':'Zcy','\\u0455':'dscy','\\u0405':'DScy','\\u0438':'icy','\\u0418':'Icy','\\u0456':'iukcy','\\u0406':'Iukcy','\\u0457':'yicy','\\u0407':'YIcy','\\u0439':'jcy','\\u0419':'Jcy','\\u0458':'jsercy','\\u0408':'Jsercy','\\u043A':'kcy','\\u041A':'Kcy','\\u045C':'kjcy','\\u040C':'KJcy','\\u043B':'lcy','\\u041B':'Lcy','\\u0459':'ljcy','\\u0409':'LJcy','\\u043C':'mcy','\\u041C':'Mcy','\\u043D':'ncy','\\u041D':'Ncy','\\u045A':'njcy','\\u040A':'NJcy','\\u043E':'ocy','\\u041E':'Ocy','\\u043F':'pcy','\\u041F':'Pcy','\\u0440':'rcy','\\u0420':'Rcy','\\u0441':'scy','\\u0421':'Scy','\\u0442':'tcy','\\u0422':'Tcy','\\u045B':'tshcy','\\u040B':'TSHcy','\\u0443':'ucy','\\u0423':'Ucy','\\u045E':'ubrcy','\\u040E':'Ubrcy','\\u0444':'fcy','\\u0424':'Fcy','\\u0445':'khcy','\\u0425':'KHcy','\\u0446':'tscy','\\u0426':'TScy','\\u0447':'chcy','\\u0427':'CHcy','\\u045F':'dzcy','\\u040F':'DZcy','\\u0448':'shcy','\\u0428':'SHcy','\\u0449':'shchcy','\\u0429':'SHCHcy','\\u044A':'hardcy','\\u042A':'HARDcy','\\u044B':'ycy','\\u042B':'Ycy','\\u044C':'softcy','\\u042C':'SOFTcy','\\u044D':'ecy','\\u042D':'Ecy','\\u044E':'yucy','\\u042E':'YUcy','\\u044F':'yacy','\\u042F':'YAcy','\\u2135':'aleph','\\u2136':'beth','\\u2137':'gimel','\\u2138':'daleth'};\n\n\tvar regexEscape = /[\"&'<>`]/g;\n\tvar escapeMap = {\n\t\t'\"': '"',\n\t\t'&': '&',\n\t\t'\\'': ''',\n\t\t'<': '<',\n\t\t// See https://mathiasbynens.be/notes/ambiguous-ampersands: in HTML, the\n\t\t// following is not strictly necessary unless it’s part of a tag or an\n\t\t// unquoted attribute value. We’re only escaping it to support those\n\t\t// situations, and for XML support.\n\t\t'>': '>',\n\t\t// In Internet Explorer ≤ 8, the backtick character can be used\n\t\t// to break out of (un)quoted attribute values or HTML comments.\n\t\t// See http://html5sec.org/#102, http://html5sec.org/#108, and\n\t\t// http://html5sec.org/#133.\n\t\t'`': '`'\n\t};\n\n\tvar regexInvalidEntity = /&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/;\n\tvar regexInvalidRawCodePoint = /[\\0-\\x08\\x0B\\x0E-\\x1F\\x7F-\\x9F\\uFDD0-\\uFDEF\\uFFFE\\uFFFF]|[\\uD83F\\uD87F\\uD8BF\\uD8FF\\uD93F\\uD97F\\uD9BF\\uD9FF\\uDA3F\\uDA7F\\uDABF\\uDAFF\\uDB3F\\uDB7F\\uDBBF\\uDBFF][\\uDFFE\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n\tvar regexDecode = /&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g;\n\tvar decodeMap = {'aacute':'\\xE1','Aacute':'\\xC1','abreve':'\\u0103','Abreve':'\\u0102','ac':'\\u223E','acd':'\\u223F','acE':'\\u223E\\u0333','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','acy':'\\u0430','Acy':'\\u0410','aelig':'\\xE6','AElig':'\\xC6','af':'\\u2061','afr':'\\uD835\\uDD1E','Afr':'\\uD835\\uDD04','agrave':'\\xE0','Agrave':'\\xC0','alefsym':'\\u2135','aleph':'\\u2135','alpha':'\\u03B1','Alpha':'\\u0391','amacr':'\\u0101','Amacr':'\\u0100','amalg':'\\u2A3F','amp':'&','AMP':'&','and':'\\u2227','And':'\\u2A53','andand':'\\u2A55','andd':'\\u2A5C','andslope':'\\u2A58','andv':'\\u2A5A','ang':'\\u2220','ange':'\\u29A4','angle':'\\u2220','angmsd':'\\u2221','angmsdaa':'\\u29A8','angmsdab':'\\u29A9','angmsdac':'\\u29AA','angmsdad':'\\u29AB','angmsdae':'\\u29AC','angmsdaf':'\\u29AD','angmsdag':'\\u29AE','angmsdah':'\\u29AF','angrt':'\\u221F','angrtvb':'\\u22BE','angrtvbd':'\\u299D','angsph':'\\u2222','angst':'\\xC5','angzarr':'\\u237C','aogon':'\\u0105','Aogon':'\\u0104','aopf':'\\uD835\\uDD52','Aopf':'\\uD835\\uDD38','ap':'\\u2248','apacir':'\\u2A6F','ape':'\\u224A','apE':'\\u2A70','apid':'\\u224B','apos':'\\'','ApplyFunction':'\\u2061','approx':'\\u2248','approxeq':'\\u224A','aring':'\\xE5','Aring':'\\xC5','ascr':'\\uD835\\uDCB6','Ascr':'\\uD835\\uDC9C','Assign':'\\u2254','ast':'*','asymp':'\\u2248','asympeq':'\\u224D','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','awconint':'\\u2233','awint':'\\u2A11','backcong':'\\u224C','backepsilon':'\\u03F6','backprime':'\\u2035','backsim':'\\u223D','backsimeq':'\\u22CD','Backslash':'\\u2216','Barv':'\\u2AE7','barvee':'\\u22BD','barwed':'\\u2305','Barwed':'\\u2306','barwedge':'\\u2305','bbrk':'\\u23B5','bbrktbrk':'\\u23B6','bcong':'\\u224C','bcy':'\\u0431','Bcy':'\\u0411','bdquo':'\\u201E','becaus':'\\u2235','because':'\\u2235','Because':'\\u2235','bemptyv':'\\u29B0','bepsi':'\\u03F6','bernou':'\\u212C','Bernoullis':'\\u212C','beta':'\\u03B2','Beta':'\\u0392','beth':'\\u2136','between':'\\u226C','bfr':'\\uD835\\uDD1F','Bfr':'\\uD835\\uDD05','bigcap':'\\u22C2','bigcirc':'\\u25EF','bigcup':'\\u22C3','bigodot':'\\u2A00','bigoplus':'\\u2A01','bigotimes':'\\u2A02','bigsqcup':'\\u2A06','bigstar':'\\u2605','bigtriangledown':'\\u25BD','bigtriangleup':'\\u25B3','biguplus':'\\u2A04','bigvee':'\\u22C1','bigwedge':'\\u22C0','bkarow':'\\u290D','blacklozenge':'\\u29EB','blacksquare':'\\u25AA','blacktriangle':'\\u25B4','blacktriangledown':'\\u25BE','blacktriangleleft':'\\u25C2','blacktriangleright':'\\u25B8','blank':'\\u2423','blk12':'\\u2592','blk14':'\\u2591','blk34':'\\u2593','block':'\\u2588','bne':'=\\u20E5','bnequiv':'\\u2261\\u20E5','bnot':'\\u2310','bNot':'\\u2AED','bopf':'\\uD835\\uDD53','Bopf':'\\uD835\\uDD39','bot':'\\u22A5','bottom':'\\u22A5','bowtie':'\\u22C8','boxbox':'\\u29C9','boxdl':'\\u2510','boxdL':'\\u2555','boxDl':'\\u2556','boxDL':'\\u2557','boxdr':'\\u250C','boxdR':'\\u2552','boxDr':'\\u2553','boxDR':'\\u2554','boxh':'\\u2500','boxH':'\\u2550','boxhd':'\\u252C','boxhD':'\\u2565','boxHd':'\\u2564','boxHD':'\\u2566','boxhu':'\\u2534','boxhU':'\\u2568','boxHu':'\\u2567','boxHU':'\\u2569','boxminus':'\\u229F','boxplus':'\\u229E','boxtimes':'\\u22A0','boxul':'\\u2518','boxuL':'\\u255B','boxUl':'\\u255C','boxUL':'\\u255D','boxur':'\\u2514','boxuR':'\\u2558','boxUr':'\\u2559','boxUR':'\\u255A','boxv':'\\u2502','boxV':'\\u2551','boxvh':'\\u253C','boxvH':'\\u256A','boxVh':'\\u256B','boxVH':'\\u256C','boxvl':'\\u2524','boxvL':'\\u2561','boxVl':'\\u2562','boxVL':'\\u2563','boxvr':'\\u251C','boxvR':'\\u255E','boxVr':'\\u255F','boxVR':'\\u2560','bprime':'\\u2035','breve':'\\u02D8','Breve':'\\u02D8','brvbar':'\\xA6','bscr':'\\uD835\\uDCB7','Bscr':'\\u212C','bsemi':'\\u204F','bsim':'\\u223D','bsime':'\\u22CD','bsol':'\\\\','bsolb':'\\u29C5','bsolhsub':'\\u27C8','bull':'\\u2022','bullet':'\\u2022','bump':'\\u224E','bumpe':'\\u224F','bumpE':'\\u2AAE','bumpeq':'\\u224F','Bumpeq':'\\u224E','cacute':'\\u0107','Cacute':'\\u0106','cap':'\\u2229','Cap':'\\u22D2','capand':'\\u2A44','capbrcup':'\\u2A49','capcap':'\\u2A4B','capcup':'\\u2A47','capdot':'\\u2A40','CapitalDifferentialD':'\\u2145','caps':'\\u2229\\uFE00','caret':'\\u2041','caron':'\\u02C7','Cayleys':'\\u212D','ccaps':'\\u2A4D','ccaron':'\\u010D','Ccaron':'\\u010C','ccedil':'\\xE7','Ccedil':'\\xC7','ccirc':'\\u0109','Ccirc':'\\u0108','Cconint':'\\u2230','ccups':'\\u2A4C','ccupssm':'\\u2A50','cdot':'\\u010B','Cdot':'\\u010A','cedil':'\\xB8','Cedilla':'\\xB8','cemptyv':'\\u29B2','cent':'\\xA2','centerdot':'\\xB7','CenterDot':'\\xB7','cfr':'\\uD835\\uDD20','Cfr':'\\u212D','chcy':'\\u0447','CHcy':'\\u0427','check':'\\u2713','checkmark':'\\u2713','chi':'\\u03C7','Chi':'\\u03A7','cir':'\\u25CB','circ':'\\u02C6','circeq':'\\u2257','circlearrowleft':'\\u21BA','circlearrowright':'\\u21BB','circledast':'\\u229B','circledcirc':'\\u229A','circleddash':'\\u229D','CircleDot':'\\u2299','circledR':'\\xAE','circledS':'\\u24C8','CircleMinus':'\\u2296','CirclePlus':'\\u2295','CircleTimes':'\\u2297','cire':'\\u2257','cirE':'\\u29C3','cirfnint':'\\u2A10','cirmid':'\\u2AEF','cirscir':'\\u29C2','ClockwiseContourIntegral':'\\u2232','CloseCurlyDoubleQuote':'\\u201D','CloseCurlyQuote':'\\u2019','clubs':'\\u2663','clubsuit':'\\u2663','colon':':','Colon':'\\u2237','colone':'\\u2254','Colone':'\\u2A74','coloneq':'\\u2254','comma':',','commat':'@','comp':'\\u2201','compfn':'\\u2218','complement':'\\u2201','complexes':'\\u2102','cong':'\\u2245','congdot':'\\u2A6D','Congruent':'\\u2261','conint':'\\u222E','Conint':'\\u222F','ContourIntegral':'\\u222E','copf':'\\uD835\\uDD54','Copf':'\\u2102','coprod':'\\u2210','Coproduct':'\\u2210','copy':'\\xA9','COPY':'\\xA9','copysr':'\\u2117','CounterClockwiseContourIntegral':'\\u2233','crarr':'\\u21B5','cross':'\\u2717','Cross':'\\u2A2F','cscr':'\\uD835\\uDCB8','Cscr':'\\uD835\\uDC9E','csub':'\\u2ACF','csube':'\\u2AD1','csup':'\\u2AD0','csupe':'\\u2AD2','ctdot':'\\u22EF','cudarrl':'\\u2938','cudarrr':'\\u2935','cuepr':'\\u22DE','cuesc':'\\u22DF','cularr':'\\u21B6','cularrp':'\\u293D','cup':'\\u222A','Cup':'\\u22D3','cupbrcap':'\\u2A48','cupcap':'\\u2A46','CupCap':'\\u224D','cupcup':'\\u2A4A','cupdot':'\\u228D','cupor':'\\u2A45','cups':'\\u222A\\uFE00','curarr':'\\u21B7','curarrm':'\\u293C','curlyeqprec':'\\u22DE','curlyeqsucc':'\\u22DF','curlyvee':'\\u22CE','curlywedge':'\\u22CF','curren':'\\xA4','curvearrowleft':'\\u21B6','curvearrowright':'\\u21B7','cuvee':'\\u22CE','cuwed':'\\u22CF','cwconint':'\\u2232','cwint':'\\u2231','cylcty':'\\u232D','dagger':'\\u2020','Dagger':'\\u2021','daleth':'\\u2138','darr':'\\u2193','dArr':'\\u21D3','Darr':'\\u21A1','dash':'\\u2010','dashv':'\\u22A3','Dashv':'\\u2AE4','dbkarow':'\\u290F','dblac':'\\u02DD','dcaron':'\\u010F','Dcaron':'\\u010E','dcy':'\\u0434','Dcy':'\\u0414','dd':'\\u2146','DD':'\\u2145','ddagger':'\\u2021','ddarr':'\\u21CA','DDotrahd':'\\u2911','ddotseq':'\\u2A77','deg':'\\xB0','Del':'\\u2207','delta':'\\u03B4','Delta':'\\u0394','demptyv':'\\u29B1','dfisht':'\\u297F','dfr':'\\uD835\\uDD21','Dfr':'\\uD835\\uDD07','dHar':'\\u2965','dharl':'\\u21C3','dharr':'\\u21C2','DiacriticalAcute':'\\xB4','DiacriticalDot':'\\u02D9','DiacriticalDoubleAcute':'\\u02DD','DiacriticalGrave':'`','DiacriticalTilde':'\\u02DC','diam':'\\u22C4','diamond':'\\u22C4','Diamond':'\\u22C4','diamondsuit':'\\u2666','diams':'\\u2666','die':'\\xA8','DifferentialD':'\\u2146','digamma':'\\u03DD','disin':'\\u22F2','div':'\\xF7','divide':'\\xF7','divideontimes':'\\u22C7','divonx':'\\u22C7','djcy':'\\u0452','DJcy':'\\u0402','dlcorn':'\\u231E','dlcrop':'\\u230D','dollar':'$','dopf':'\\uD835\\uDD55','Dopf':'\\uD835\\uDD3B','dot':'\\u02D9','Dot':'\\xA8','DotDot':'\\u20DC','doteq':'\\u2250','doteqdot':'\\u2251','DotEqual':'\\u2250','dotminus':'\\u2238','dotplus':'\\u2214','dotsquare':'\\u22A1','doublebarwedge':'\\u2306','DoubleContourIntegral':'\\u222F','DoubleDot':'\\xA8','DoubleDownArrow':'\\u21D3','DoubleLeftArrow':'\\u21D0','DoubleLeftRightArrow':'\\u21D4','DoubleLeftTee':'\\u2AE4','DoubleLongLeftArrow':'\\u27F8','DoubleLongLeftRightArrow':'\\u27FA','DoubleLongRightArrow':'\\u27F9','DoubleRightArrow':'\\u21D2','DoubleRightTee':'\\u22A8','DoubleUpArrow':'\\u21D1','DoubleUpDownArrow':'\\u21D5','DoubleVerticalBar':'\\u2225','downarrow':'\\u2193','Downarrow':'\\u21D3','DownArrow':'\\u2193','DownArrowBar':'\\u2913','DownArrowUpArrow':'\\u21F5','DownBreve':'\\u0311','downdownarrows':'\\u21CA','downharpoonleft':'\\u21C3','downharpoonright':'\\u21C2','DownLeftRightVector':'\\u2950','DownLeftTeeVector':'\\u295E','DownLeftVector':'\\u21BD','DownLeftVectorBar':'\\u2956','DownRightTeeVector':'\\u295F','DownRightVector':'\\u21C1','DownRightVectorBar':'\\u2957','DownTee':'\\u22A4','DownTeeArrow':'\\u21A7','drbkarow':'\\u2910','drcorn':'\\u231F','drcrop':'\\u230C','dscr':'\\uD835\\uDCB9','Dscr':'\\uD835\\uDC9F','dscy':'\\u0455','DScy':'\\u0405','dsol':'\\u29F6','dstrok':'\\u0111','Dstrok':'\\u0110','dtdot':'\\u22F1','dtri':'\\u25BF','dtrif':'\\u25BE','duarr':'\\u21F5','duhar':'\\u296F','dwangle':'\\u29A6','dzcy':'\\u045F','DZcy':'\\u040F','dzigrarr':'\\u27FF','eacute':'\\xE9','Eacute':'\\xC9','easter':'\\u2A6E','ecaron':'\\u011B','Ecaron':'\\u011A','ecir':'\\u2256','ecirc':'\\xEA','Ecirc':'\\xCA','ecolon':'\\u2255','ecy':'\\u044D','Ecy':'\\u042D','eDDot':'\\u2A77','edot':'\\u0117','eDot':'\\u2251','Edot':'\\u0116','ee':'\\u2147','efDot':'\\u2252','efr':'\\uD835\\uDD22','Efr':'\\uD835\\uDD08','eg':'\\u2A9A','egrave':'\\xE8','Egrave':'\\xC8','egs':'\\u2A96','egsdot':'\\u2A98','el':'\\u2A99','Element':'\\u2208','elinters':'\\u23E7','ell':'\\u2113','els':'\\u2A95','elsdot':'\\u2A97','emacr':'\\u0113','Emacr':'\\u0112','empty':'\\u2205','emptyset':'\\u2205','EmptySmallSquare':'\\u25FB','emptyv':'\\u2205','EmptyVerySmallSquare':'\\u25AB','emsp':'\\u2003','emsp13':'\\u2004','emsp14':'\\u2005','eng':'\\u014B','ENG':'\\u014A','ensp':'\\u2002','eogon':'\\u0119','Eogon':'\\u0118','eopf':'\\uD835\\uDD56','Eopf':'\\uD835\\uDD3C','epar':'\\u22D5','eparsl':'\\u29E3','eplus':'\\u2A71','epsi':'\\u03B5','epsilon':'\\u03B5','Epsilon':'\\u0395','epsiv':'\\u03F5','eqcirc':'\\u2256','eqcolon':'\\u2255','eqsim':'\\u2242','eqslantgtr':'\\u2A96','eqslantless':'\\u2A95','Equal':'\\u2A75','equals':'=','EqualTilde':'\\u2242','equest':'\\u225F','Equilibrium':'\\u21CC','equiv':'\\u2261','equivDD':'\\u2A78','eqvparsl':'\\u29E5','erarr':'\\u2971','erDot':'\\u2253','escr':'\\u212F','Escr':'\\u2130','esdot':'\\u2250','esim':'\\u2242','Esim':'\\u2A73','eta':'\\u03B7','Eta':'\\u0397','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','euro':'\\u20AC','excl':'!','exist':'\\u2203','Exists':'\\u2203','expectation':'\\u2130','exponentiale':'\\u2147','ExponentialE':'\\u2147','fallingdotseq':'\\u2252','fcy':'\\u0444','Fcy':'\\u0424','female':'\\u2640','ffilig':'\\uFB03','fflig':'\\uFB00','ffllig':'\\uFB04','ffr':'\\uD835\\uDD23','Ffr':'\\uD835\\uDD09','filig':'\\uFB01','FilledSmallSquare':'\\u25FC','FilledVerySmallSquare':'\\u25AA','fjlig':'fj','flat':'\\u266D','fllig':'\\uFB02','fltns':'\\u25B1','fnof':'\\u0192','fopf':'\\uD835\\uDD57','Fopf':'\\uD835\\uDD3D','forall':'\\u2200','ForAll':'\\u2200','fork':'\\u22D4','forkv':'\\u2AD9','Fouriertrf':'\\u2131','fpartint':'\\u2A0D','frac12':'\\xBD','frac13':'\\u2153','frac14':'\\xBC','frac15':'\\u2155','frac16':'\\u2159','frac18':'\\u215B','frac23':'\\u2154','frac25':'\\u2156','frac34':'\\xBE','frac35':'\\u2157','frac38':'\\u215C','frac45':'\\u2158','frac56':'\\u215A','frac58':'\\u215D','frac78':'\\u215E','frasl':'\\u2044','frown':'\\u2322','fscr':'\\uD835\\uDCBB','Fscr':'\\u2131','gacute':'\\u01F5','gamma':'\\u03B3','Gamma':'\\u0393','gammad':'\\u03DD','Gammad':'\\u03DC','gap':'\\u2A86','gbreve':'\\u011F','Gbreve':'\\u011E','Gcedil':'\\u0122','gcirc':'\\u011D','Gcirc':'\\u011C','gcy':'\\u0433','Gcy':'\\u0413','gdot':'\\u0121','Gdot':'\\u0120','ge':'\\u2265','gE':'\\u2267','gel':'\\u22DB','gEl':'\\u2A8C','geq':'\\u2265','geqq':'\\u2267','geqslant':'\\u2A7E','ges':'\\u2A7E','gescc':'\\u2AA9','gesdot':'\\u2A80','gesdoto':'\\u2A82','gesdotol':'\\u2A84','gesl':'\\u22DB\\uFE00','gesles':'\\u2A94','gfr':'\\uD835\\uDD24','Gfr':'\\uD835\\uDD0A','gg':'\\u226B','Gg':'\\u22D9','ggg':'\\u22D9','gimel':'\\u2137','gjcy':'\\u0453','GJcy':'\\u0403','gl':'\\u2277','gla':'\\u2AA5','glE':'\\u2A92','glj':'\\u2AA4','gnap':'\\u2A8A','gnapprox':'\\u2A8A','gne':'\\u2A88','gnE':'\\u2269','gneq':'\\u2A88','gneqq':'\\u2269','gnsim':'\\u22E7','gopf':'\\uD835\\uDD58','Gopf':'\\uD835\\uDD3E','grave':'`','GreaterEqual':'\\u2265','GreaterEqualLess':'\\u22DB','GreaterFullEqual':'\\u2267','GreaterGreater':'\\u2AA2','GreaterLess':'\\u2277','GreaterSlantEqual':'\\u2A7E','GreaterTilde':'\\u2273','gscr':'\\u210A','Gscr':'\\uD835\\uDCA2','gsim':'\\u2273','gsime':'\\u2A8E','gsiml':'\\u2A90','gt':'>','Gt':'\\u226B','GT':'>','gtcc':'\\u2AA7','gtcir':'\\u2A7A','gtdot':'\\u22D7','gtlPar':'\\u2995','gtquest':'\\u2A7C','gtrapprox':'\\u2A86','gtrarr':'\\u2978','gtrdot':'\\u22D7','gtreqless':'\\u22DB','gtreqqless':'\\u2A8C','gtrless':'\\u2277','gtrsim':'\\u2273','gvertneqq':'\\u2269\\uFE00','gvnE':'\\u2269\\uFE00','Hacek':'\\u02C7','hairsp':'\\u200A','half':'\\xBD','hamilt':'\\u210B','hardcy':'\\u044A','HARDcy':'\\u042A','harr':'\\u2194','hArr':'\\u21D4','harrcir':'\\u2948','harrw':'\\u21AD','Hat':'^','hbar':'\\u210F','hcirc':'\\u0125','Hcirc':'\\u0124','hearts':'\\u2665','heartsuit':'\\u2665','hellip':'\\u2026','hercon':'\\u22B9','hfr':'\\uD835\\uDD25','Hfr':'\\u210C','HilbertSpace':'\\u210B','hksearow':'\\u2925','hkswarow':'\\u2926','hoarr':'\\u21FF','homtht':'\\u223B','hookleftarrow':'\\u21A9','hookrightarrow':'\\u21AA','hopf':'\\uD835\\uDD59','Hopf':'\\u210D','horbar':'\\u2015','HorizontalLine':'\\u2500','hscr':'\\uD835\\uDCBD','Hscr':'\\u210B','hslash':'\\u210F','hstrok':'\\u0127','Hstrok':'\\u0126','HumpDownHump':'\\u224E','HumpEqual':'\\u224F','hybull':'\\u2043','hyphen':'\\u2010','iacute':'\\xED','Iacute':'\\xCD','ic':'\\u2063','icirc':'\\xEE','Icirc':'\\xCE','icy':'\\u0438','Icy':'\\u0418','Idot':'\\u0130','iecy':'\\u0435','IEcy':'\\u0415','iexcl':'\\xA1','iff':'\\u21D4','ifr':'\\uD835\\uDD26','Ifr':'\\u2111','igrave':'\\xEC','Igrave':'\\xCC','ii':'\\u2148','iiiint':'\\u2A0C','iiint':'\\u222D','iinfin':'\\u29DC','iiota':'\\u2129','ijlig':'\\u0133','IJlig':'\\u0132','Im':'\\u2111','imacr':'\\u012B','Imacr':'\\u012A','image':'\\u2111','ImaginaryI':'\\u2148','imagline':'\\u2110','imagpart':'\\u2111','imath':'\\u0131','imof':'\\u22B7','imped':'\\u01B5','Implies':'\\u21D2','in':'\\u2208','incare':'\\u2105','infin':'\\u221E','infintie':'\\u29DD','inodot':'\\u0131','int':'\\u222B','Int':'\\u222C','intcal':'\\u22BA','integers':'\\u2124','Integral':'\\u222B','intercal':'\\u22BA','Intersection':'\\u22C2','intlarhk':'\\u2A17','intprod':'\\u2A3C','InvisibleComma':'\\u2063','InvisibleTimes':'\\u2062','iocy':'\\u0451','IOcy':'\\u0401','iogon':'\\u012F','Iogon':'\\u012E','iopf':'\\uD835\\uDD5A','Iopf':'\\uD835\\uDD40','iota':'\\u03B9','Iota':'\\u0399','iprod':'\\u2A3C','iquest':'\\xBF','iscr':'\\uD835\\uDCBE','Iscr':'\\u2110','isin':'\\u2208','isindot':'\\u22F5','isinE':'\\u22F9','isins':'\\u22F4','isinsv':'\\u22F3','isinv':'\\u2208','it':'\\u2062','itilde':'\\u0129','Itilde':'\\u0128','iukcy':'\\u0456','Iukcy':'\\u0406','iuml':'\\xEF','Iuml':'\\xCF','jcirc':'\\u0135','Jcirc':'\\u0134','jcy':'\\u0439','Jcy':'\\u0419','jfr':'\\uD835\\uDD27','Jfr':'\\uD835\\uDD0D','jmath':'\\u0237','jopf':'\\uD835\\uDD5B','Jopf':'\\uD835\\uDD41','jscr':'\\uD835\\uDCBF','Jscr':'\\uD835\\uDCA5','jsercy':'\\u0458','Jsercy':'\\u0408','jukcy':'\\u0454','Jukcy':'\\u0404','kappa':'\\u03BA','Kappa':'\\u039A','kappav':'\\u03F0','kcedil':'\\u0137','Kcedil':'\\u0136','kcy':'\\u043A','Kcy':'\\u041A','kfr':'\\uD835\\uDD28','Kfr':'\\uD835\\uDD0E','kgreen':'\\u0138','khcy':'\\u0445','KHcy':'\\u0425','kjcy':'\\u045C','KJcy':'\\u040C','kopf':'\\uD835\\uDD5C','Kopf':'\\uD835\\uDD42','kscr':'\\uD835\\uDCC0','Kscr':'\\uD835\\uDCA6','lAarr':'\\u21DA','lacute':'\\u013A','Lacute':'\\u0139','laemptyv':'\\u29B4','lagran':'\\u2112','lambda':'\\u03BB','Lambda':'\\u039B','lang':'\\u27E8','Lang':'\\u27EA','langd':'\\u2991','langle':'\\u27E8','lap':'\\u2A85','Laplacetrf':'\\u2112','laquo':'\\xAB','larr':'\\u2190','lArr':'\\u21D0','Larr':'\\u219E','larrb':'\\u21E4','larrbfs':'\\u291F','larrfs':'\\u291D','larrhk':'\\u21A9','larrlp':'\\u21AB','larrpl':'\\u2939','larrsim':'\\u2973','larrtl':'\\u21A2','lat':'\\u2AAB','latail':'\\u2919','lAtail':'\\u291B','late':'\\u2AAD','lates':'\\u2AAD\\uFE00','lbarr':'\\u290C','lBarr':'\\u290E','lbbrk':'\\u2772','lbrace':'{','lbrack':'[','lbrke':'\\u298B','lbrksld':'\\u298F','lbrkslu':'\\u298D','lcaron':'\\u013E','Lcaron':'\\u013D','lcedil':'\\u013C','Lcedil':'\\u013B','lceil':'\\u2308','lcub':'{','lcy':'\\u043B','Lcy':'\\u041B','ldca':'\\u2936','ldquo':'\\u201C','ldquor':'\\u201E','ldrdhar':'\\u2967','ldrushar':'\\u294B','ldsh':'\\u21B2','le':'\\u2264','lE':'\\u2266','LeftAngleBracket':'\\u27E8','leftarrow':'\\u2190','Leftarrow':'\\u21D0','LeftArrow':'\\u2190','LeftArrowBar':'\\u21E4','LeftArrowRightArrow':'\\u21C6','leftarrowtail':'\\u21A2','LeftCeiling':'\\u2308','LeftDoubleBracket':'\\u27E6','LeftDownTeeVector':'\\u2961','LeftDownVector':'\\u21C3','LeftDownVectorBar':'\\u2959','LeftFloor':'\\u230A','leftharpoondown':'\\u21BD','leftharpoonup':'\\u21BC','leftleftarrows':'\\u21C7','leftrightarrow':'\\u2194','Leftrightarrow':'\\u21D4','LeftRightArrow':'\\u2194','leftrightarrows':'\\u21C6','leftrightharpoons':'\\u21CB','leftrightsquigarrow':'\\u21AD','LeftRightVector':'\\u294E','LeftTee':'\\u22A3','LeftTeeArrow':'\\u21A4','LeftTeeVector':'\\u295A','leftthreetimes':'\\u22CB','LeftTriangle':'\\u22B2','LeftTriangleBar':'\\u29CF','LeftTriangleEqual':'\\u22B4','LeftUpDownVector':'\\u2951','LeftUpTeeVector':'\\u2960','LeftUpVector':'\\u21BF','LeftUpVectorBar':'\\u2958','LeftVector':'\\u21BC','LeftVectorBar':'\\u2952','leg':'\\u22DA','lEg':'\\u2A8B','leq':'\\u2264','leqq':'\\u2266','leqslant':'\\u2A7D','les':'\\u2A7D','lescc':'\\u2AA8','lesdot':'\\u2A7F','lesdoto':'\\u2A81','lesdotor':'\\u2A83','lesg':'\\u22DA\\uFE00','lesges':'\\u2A93','lessapprox':'\\u2A85','lessdot':'\\u22D6','lesseqgtr':'\\u22DA','lesseqqgtr':'\\u2A8B','LessEqualGreater':'\\u22DA','LessFullEqual':'\\u2266','LessGreater':'\\u2276','lessgtr':'\\u2276','LessLess':'\\u2AA1','lesssim':'\\u2272','LessSlantEqual':'\\u2A7D','LessTilde':'\\u2272','lfisht':'\\u297C','lfloor':'\\u230A','lfr':'\\uD835\\uDD29','Lfr':'\\uD835\\uDD0F','lg':'\\u2276','lgE':'\\u2A91','lHar':'\\u2962','lhard':'\\u21BD','lharu':'\\u21BC','lharul':'\\u296A','lhblk':'\\u2584','ljcy':'\\u0459','LJcy':'\\u0409','ll':'\\u226A','Ll':'\\u22D8','llarr':'\\u21C7','llcorner':'\\u231E','Lleftarrow':'\\u21DA','llhard':'\\u296B','lltri':'\\u25FA','lmidot':'\\u0140','Lmidot':'\\u013F','lmoust':'\\u23B0','lmoustache':'\\u23B0','lnap':'\\u2A89','lnapprox':'\\u2A89','lne':'\\u2A87','lnE':'\\u2268','lneq':'\\u2A87','lneqq':'\\u2268','lnsim':'\\u22E6','loang':'\\u27EC','loarr':'\\u21FD','lobrk':'\\u27E6','longleftarrow':'\\u27F5','Longleftarrow':'\\u27F8','LongLeftArrow':'\\u27F5','longleftrightarrow':'\\u27F7','Longleftrightarrow':'\\u27FA','LongLeftRightArrow':'\\u27F7','longmapsto':'\\u27FC','longrightarrow':'\\u27F6','Longrightarrow':'\\u27F9','LongRightArrow':'\\u27F6','looparrowleft':'\\u21AB','looparrowright':'\\u21AC','lopar':'\\u2985','lopf':'\\uD835\\uDD5D','Lopf':'\\uD835\\uDD43','loplus':'\\u2A2D','lotimes':'\\u2A34','lowast':'\\u2217','lowbar':'_','LowerLeftArrow':'\\u2199','LowerRightArrow':'\\u2198','loz':'\\u25CA','lozenge':'\\u25CA','lozf':'\\u29EB','lpar':'(','lparlt':'\\u2993','lrarr':'\\u21C6','lrcorner':'\\u231F','lrhar':'\\u21CB','lrhard':'\\u296D','lrm':'\\u200E','lrtri':'\\u22BF','lsaquo':'\\u2039','lscr':'\\uD835\\uDCC1','Lscr':'\\u2112','lsh':'\\u21B0','Lsh':'\\u21B0','lsim':'\\u2272','lsime':'\\u2A8D','lsimg':'\\u2A8F','lsqb':'[','lsquo':'\\u2018','lsquor':'\\u201A','lstrok':'\\u0142','Lstrok':'\\u0141','lt':'<','Lt':'\\u226A','LT':'<','ltcc':'\\u2AA6','ltcir':'\\u2A79','ltdot':'\\u22D6','lthree':'\\u22CB','ltimes':'\\u22C9','ltlarr':'\\u2976','ltquest':'\\u2A7B','ltri':'\\u25C3','ltrie':'\\u22B4','ltrif':'\\u25C2','ltrPar':'\\u2996','lurdshar':'\\u294A','luruhar':'\\u2966','lvertneqq':'\\u2268\\uFE00','lvnE':'\\u2268\\uFE00','macr':'\\xAF','male':'\\u2642','malt':'\\u2720','maltese':'\\u2720','map':'\\u21A6','Map':'\\u2905','mapsto':'\\u21A6','mapstodown':'\\u21A7','mapstoleft':'\\u21A4','mapstoup':'\\u21A5','marker':'\\u25AE','mcomma':'\\u2A29','mcy':'\\u043C','Mcy':'\\u041C','mdash':'\\u2014','mDDot':'\\u223A','measuredangle':'\\u2221','MediumSpace':'\\u205F','Mellintrf':'\\u2133','mfr':'\\uD835\\uDD2A','Mfr':'\\uD835\\uDD10','mho':'\\u2127','micro':'\\xB5','mid':'\\u2223','midast':'*','midcir':'\\u2AF0','middot':'\\xB7','minus':'\\u2212','minusb':'\\u229F','minusd':'\\u2238','minusdu':'\\u2A2A','MinusPlus':'\\u2213','mlcp':'\\u2ADB','mldr':'\\u2026','mnplus':'\\u2213','models':'\\u22A7','mopf':'\\uD835\\uDD5E','Mopf':'\\uD835\\uDD44','mp':'\\u2213','mscr':'\\uD835\\uDCC2','Mscr':'\\u2133','mstpos':'\\u223E','mu':'\\u03BC','Mu':'\\u039C','multimap':'\\u22B8','mumap':'\\u22B8','nabla':'\\u2207','nacute':'\\u0144','Nacute':'\\u0143','nang':'\\u2220\\u20D2','nap':'\\u2249','napE':'\\u2A70\\u0338','napid':'\\u224B\\u0338','napos':'\\u0149','napprox':'\\u2249','natur':'\\u266E','natural':'\\u266E','naturals':'\\u2115','nbsp':'\\xA0','nbump':'\\u224E\\u0338','nbumpe':'\\u224F\\u0338','ncap':'\\u2A43','ncaron':'\\u0148','Ncaron':'\\u0147','ncedil':'\\u0146','Ncedil':'\\u0145','ncong':'\\u2247','ncongdot':'\\u2A6D\\u0338','ncup':'\\u2A42','ncy':'\\u043D','Ncy':'\\u041D','ndash':'\\u2013','ne':'\\u2260','nearhk':'\\u2924','nearr':'\\u2197','neArr':'\\u21D7','nearrow':'\\u2197','nedot':'\\u2250\\u0338','NegativeMediumSpace':'\\u200B','NegativeThickSpace':'\\u200B','NegativeThinSpace':'\\u200B','NegativeVeryThinSpace':'\\u200B','nequiv':'\\u2262','nesear':'\\u2928','nesim':'\\u2242\\u0338','NestedGreaterGreater':'\\u226B','NestedLessLess':'\\u226A','NewLine':'\\n','nexist':'\\u2204','nexists':'\\u2204','nfr':'\\uD835\\uDD2B','Nfr':'\\uD835\\uDD11','nge':'\\u2271','ngE':'\\u2267\\u0338','ngeq':'\\u2271','ngeqq':'\\u2267\\u0338','ngeqslant':'\\u2A7E\\u0338','nges':'\\u2A7E\\u0338','nGg':'\\u22D9\\u0338','ngsim':'\\u2275','ngt':'\\u226F','nGt':'\\u226B\\u20D2','ngtr':'\\u226F','nGtv':'\\u226B\\u0338','nharr':'\\u21AE','nhArr':'\\u21CE','nhpar':'\\u2AF2','ni':'\\u220B','nis':'\\u22FC','nisd':'\\u22FA','niv':'\\u220B','njcy':'\\u045A','NJcy':'\\u040A','nlarr':'\\u219A','nlArr':'\\u21CD','nldr':'\\u2025','nle':'\\u2270','nlE':'\\u2266\\u0338','nleftarrow':'\\u219A','nLeftarrow':'\\u21CD','nleftrightarrow':'\\u21AE','nLeftrightarrow':'\\u21CE','nleq':'\\u2270','nleqq':'\\u2266\\u0338','nleqslant':'\\u2A7D\\u0338','nles':'\\u2A7D\\u0338','nless':'\\u226E','nLl':'\\u22D8\\u0338','nlsim':'\\u2274','nlt':'\\u226E','nLt':'\\u226A\\u20D2','nltri':'\\u22EA','nltrie':'\\u22EC','nLtv':'\\u226A\\u0338','nmid':'\\u2224','NoBreak':'\\u2060','NonBreakingSpace':'\\xA0','nopf':'\\uD835\\uDD5F','Nopf':'\\u2115','not':'\\xAC','Not':'\\u2AEC','NotCongruent':'\\u2262','NotCupCap':'\\u226D','NotDoubleVerticalBar':'\\u2226','NotElement':'\\u2209','NotEqual':'\\u2260','NotEqualTilde':'\\u2242\\u0338','NotExists':'\\u2204','NotGreater':'\\u226F','NotGreaterEqual':'\\u2271','NotGreaterFullEqual':'\\u2267\\u0338','NotGreaterGreater':'\\u226B\\u0338','NotGreaterLess':'\\u2279','NotGreaterSlantEqual':'\\u2A7E\\u0338','NotGreaterTilde':'\\u2275','NotHumpDownHump':'\\u224E\\u0338','NotHumpEqual':'\\u224F\\u0338','notin':'\\u2209','notindot':'\\u22F5\\u0338','notinE':'\\u22F9\\u0338','notinva':'\\u2209','notinvb':'\\u22F7','notinvc':'\\u22F6','NotLeftTriangle':'\\u22EA','NotLeftTriangleBar':'\\u29CF\\u0338','NotLeftTriangleEqual':'\\u22EC','NotLess':'\\u226E','NotLessEqual':'\\u2270','NotLessGreater':'\\u2278','NotLessLess':'\\u226A\\u0338','NotLessSlantEqual':'\\u2A7D\\u0338','NotLessTilde':'\\u2274','NotNestedGreaterGreater':'\\u2AA2\\u0338','NotNestedLessLess':'\\u2AA1\\u0338','notni':'\\u220C','notniva':'\\u220C','notnivb':'\\u22FE','notnivc':'\\u22FD','NotPrecedes':'\\u2280','NotPrecedesEqual':'\\u2AAF\\u0338','NotPrecedesSlantEqual':'\\u22E0','NotReverseElement':'\\u220C','NotRightTriangle':'\\u22EB','NotRightTriangleBar':'\\u29D0\\u0338','NotRightTriangleEqual':'\\u22ED','NotSquareSubset':'\\u228F\\u0338','NotSquareSubsetEqual':'\\u22E2','NotSquareSuperset':'\\u2290\\u0338','NotSquareSupersetEqual':'\\u22E3','NotSubset':'\\u2282\\u20D2','NotSubsetEqual':'\\u2288','NotSucceeds':'\\u2281','NotSucceedsEqual':'\\u2AB0\\u0338','NotSucceedsSlantEqual':'\\u22E1','NotSucceedsTilde':'\\u227F\\u0338','NotSuperset':'\\u2283\\u20D2','NotSupersetEqual':'\\u2289','NotTilde':'\\u2241','NotTildeEqual':'\\u2244','NotTildeFullEqual':'\\u2247','NotTildeTilde':'\\u2249','NotVerticalBar':'\\u2224','npar':'\\u2226','nparallel':'\\u2226','nparsl':'\\u2AFD\\u20E5','npart':'\\u2202\\u0338','npolint':'\\u2A14','npr':'\\u2280','nprcue':'\\u22E0','npre':'\\u2AAF\\u0338','nprec':'\\u2280','npreceq':'\\u2AAF\\u0338','nrarr':'\\u219B','nrArr':'\\u21CF','nrarrc':'\\u2933\\u0338','nrarrw':'\\u219D\\u0338','nrightarrow':'\\u219B','nRightarrow':'\\u21CF','nrtri':'\\u22EB','nrtrie':'\\u22ED','nsc':'\\u2281','nsccue':'\\u22E1','nsce':'\\u2AB0\\u0338','nscr':'\\uD835\\uDCC3','Nscr':'\\uD835\\uDCA9','nshortmid':'\\u2224','nshortparallel':'\\u2226','nsim':'\\u2241','nsime':'\\u2244','nsimeq':'\\u2244','nsmid':'\\u2224','nspar':'\\u2226','nsqsube':'\\u22E2','nsqsupe':'\\u22E3','nsub':'\\u2284','nsube':'\\u2288','nsubE':'\\u2AC5\\u0338','nsubset':'\\u2282\\u20D2','nsubseteq':'\\u2288','nsubseteqq':'\\u2AC5\\u0338','nsucc':'\\u2281','nsucceq':'\\u2AB0\\u0338','nsup':'\\u2285','nsupe':'\\u2289','nsupE':'\\u2AC6\\u0338','nsupset':'\\u2283\\u20D2','nsupseteq':'\\u2289','nsupseteqq':'\\u2AC6\\u0338','ntgl':'\\u2279','ntilde':'\\xF1','Ntilde':'\\xD1','ntlg':'\\u2278','ntriangleleft':'\\u22EA','ntrianglelefteq':'\\u22EC','ntriangleright':'\\u22EB','ntrianglerighteq':'\\u22ED','nu':'\\u03BD','Nu':'\\u039D','num':'#','numero':'\\u2116','numsp':'\\u2007','nvap':'\\u224D\\u20D2','nvdash':'\\u22AC','nvDash':'\\u22AD','nVdash':'\\u22AE','nVDash':'\\u22AF','nvge':'\\u2265\\u20D2','nvgt':'>\\u20D2','nvHarr':'\\u2904','nvinfin':'\\u29DE','nvlArr':'\\u2902','nvle':'\\u2264\\u20D2','nvlt':'<\\u20D2','nvltrie':'\\u22B4\\u20D2','nvrArr':'\\u2903','nvrtrie':'\\u22B5\\u20D2','nvsim':'\\u223C\\u20D2','nwarhk':'\\u2923','nwarr':'\\u2196','nwArr':'\\u21D6','nwarrow':'\\u2196','nwnear':'\\u2927','oacute':'\\xF3','Oacute':'\\xD3','oast':'\\u229B','ocir':'\\u229A','ocirc':'\\xF4','Ocirc':'\\xD4','ocy':'\\u043E','Ocy':'\\u041E','odash':'\\u229D','odblac':'\\u0151','Odblac':'\\u0150','odiv':'\\u2A38','odot':'\\u2299','odsold':'\\u29BC','oelig':'\\u0153','OElig':'\\u0152','ofcir':'\\u29BF','ofr':'\\uD835\\uDD2C','Ofr':'\\uD835\\uDD12','ogon':'\\u02DB','ograve':'\\xF2','Ograve':'\\xD2','ogt':'\\u29C1','ohbar':'\\u29B5','ohm':'\\u03A9','oint':'\\u222E','olarr':'\\u21BA','olcir':'\\u29BE','olcross':'\\u29BB','oline':'\\u203E','olt':'\\u29C0','omacr':'\\u014D','Omacr':'\\u014C','omega':'\\u03C9','Omega':'\\u03A9','omicron':'\\u03BF','Omicron':'\\u039F','omid':'\\u29B6','ominus':'\\u2296','oopf':'\\uD835\\uDD60','Oopf':'\\uD835\\uDD46','opar':'\\u29B7','OpenCurlyDoubleQuote':'\\u201C','OpenCurlyQuote':'\\u2018','operp':'\\u29B9','oplus':'\\u2295','or':'\\u2228','Or':'\\u2A54','orarr':'\\u21BB','ord':'\\u2A5D','order':'\\u2134','orderof':'\\u2134','ordf':'\\xAA','ordm':'\\xBA','origof':'\\u22B6','oror':'\\u2A56','orslope':'\\u2A57','orv':'\\u2A5B','oS':'\\u24C8','oscr':'\\u2134','Oscr':'\\uD835\\uDCAA','oslash':'\\xF8','Oslash':'\\xD8','osol':'\\u2298','otilde':'\\xF5','Otilde':'\\xD5','otimes':'\\u2297','Otimes':'\\u2A37','otimesas':'\\u2A36','ouml':'\\xF6','Ouml':'\\xD6','ovbar':'\\u233D','OverBar':'\\u203E','OverBrace':'\\u23DE','OverBracket':'\\u23B4','OverParenthesis':'\\u23DC','par':'\\u2225','para':'\\xB6','parallel':'\\u2225','parsim':'\\u2AF3','parsl':'\\u2AFD','part':'\\u2202','PartialD':'\\u2202','pcy':'\\u043F','Pcy':'\\u041F','percnt':'%','period':'.','permil':'\\u2030','perp':'\\u22A5','pertenk':'\\u2031','pfr':'\\uD835\\uDD2D','Pfr':'\\uD835\\uDD13','phi':'\\u03C6','Phi':'\\u03A6','phiv':'\\u03D5','phmmat':'\\u2133','phone':'\\u260E','pi':'\\u03C0','Pi':'\\u03A0','pitchfork':'\\u22D4','piv':'\\u03D6','planck':'\\u210F','planckh':'\\u210E','plankv':'\\u210F','plus':'+','plusacir':'\\u2A23','plusb':'\\u229E','pluscir':'\\u2A22','plusdo':'\\u2214','plusdu':'\\u2A25','pluse':'\\u2A72','PlusMinus':'\\xB1','plusmn':'\\xB1','plussim':'\\u2A26','plustwo':'\\u2A27','pm':'\\xB1','Poincareplane':'\\u210C','pointint':'\\u2A15','popf':'\\uD835\\uDD61','Popf':'\\u2119','pound':'\\xA3','pr':'\\u227A','Pr':'\\u2ABB','prap':'\\u2AB7','prcue':'\\u227C','pre':'\\u2AAF','prE':'\\u2AB3','prec':'\\u227A','precapprox':'\\u2AB7','preccurlyeq':'\\u227C','Precedes':'\\u227A','PrecedesEqual':'\\u2AAF','PrecedesSlantEqual':'\\u227C','PrecedesTilde':'\\u227E','preceq':'\\u2AAF','precnapprox':'\\u2AB9','precneqq':'\\u2AB5','precnsim':'\\u22E8','precsim':'\\u227E','prime':'\\u2032','Prime':'\\u2033','primes':'\\u2119','prnap':'\\u2AB9','prnE':'\\u2AB5','prnsim':'\\u22E8','prod':'\\u220F','Product':'\\u220F','profalar':'\\u232E','profline':'\\u2312','profsurf':'\\u2313','prop':'\\u221D','Proportion':'\\u2237','Proportional':'\\u221D','propto':'\\u221D','prsim':'\\u227E','prurel':'\\u22B0','pscr':'\\uD835\\uDCC5','Pscr':'\\uD835\\uDCAB','psi':'\\u03C8','Psi':'\\u03A8','puncsp':'\\u2008','qfr':'\\uD835\\uDD2E','Qfr':'\\uD835\\uDD14','qint':'\\u2A0C','qopf':'\\uD835\\uDD62','Qopf':'\\u211A','qprime':'\\u2057','qscr':'\\uD835\\uDCC6','Qscr':'\\uD835\\uDCAC','quaternions':'\\u210D','quatint':'\\u2A16','quest':'?','questeq':'\\u225F','quot':'\"','QUOT':'\"','rAarr':'\\u21DB','race':'\\u223D\\u0331','racute':'\\u0155','Racute':'\\u0154','radic':'\\u221A','raemptyv':'\\u29B3','rang':'\\u27E9','Rang':'\\u27EB','rangd':'\\u2992','range':'\\u29A5','rangle':'\\u27E9','raquo':'\\xBB','rarr':'\\u2192','rArr':'\\u21D2','Rarr':'\\u21A0','rarrap':'\\u2975','rarrb':'\\u21E5','rarrbfs':'\\u2920','rarrc':'\\u2933','rarrfs':'\\u291E','rarrhk':'\\u21AA','rarrlp':'\\u21AC','rarrpl':'\\u2945','rarrsim':'\\u2974','rarrtl':'\\u21A3','Rarrtl':'\\u2916','rarrw':'\\u219D','ratail':'\\u291A','rAtail':'\\u291C','ratio':'\\u2236','rationals':'\\u211A','rbarr':'\\u290D','rBarr':'\\u290F','RBarr':'\\u2910','rbbrk':'\\u2773','rbrace':'}','rbrack':']','rbrke':'\\u298C','rbrksld':'\\u298E','rbrkslu':'\\u2990','rcaron':'\\u0159','Rcaron':'\\u0158','rcedil':'\\u0157','Rcedil':'\\u0156','rceil':'\\u2309','rcub':'}','rcy':'\\u0440','Rcy':'\\u0420','rdca':'\\u2937','rdldhar':'\\u2969','rdquo':'\\u201D','rdquor':'\\u201D','rdsh':'\\u21B3','Re':'\\u211C','real':'\\u211C','realine':'\\u211B','realpart':'\\u211C','reals':'\\u211D','rect':'\\u25AD','reg':'\\xAE','REG':'\\xAE','ReverseElement':'\\u220B','ReverseEquilibrium':'\\u21CB','ReverseUpEquilibrium':'\\u296F','rfisht':'\\u297D','rfloor':'\\u230B','rfr':'\\uD835\\uDD2F','Rfr':'\\u211C','rHar':'\\u2964','rhard':'\\u21C1','rharu':'\\u21C0','rharul':'\\u296C','rho':'\\u03C1','Rho':'\\u03A1','rhov':'\\u03F1','RightAngleBracket':'\\u27E9','rightarrow':'\\u2192','Rightarrow':'\\u21D2','RightArrow':'\\u2192','RightArrowBar':'\\u21E5','RightArrowLeftArrow':'\\u21C4','rightarrowtail':'\\u21A3','RightCeiling':'\\u2309','RightDoubleBracket':'\\u27E7','RightDownTeeVector':'\\u295D','RightDownVector':'\\u21C2','RightDownVectorBar':'\\u2955','RightFloor':'\\u230B','rightharpoondown':'\\u21C1','rightharpoonup':'\\u21C0','rightleftarrows':'\\u21C4','rightleftharpoons':'\\u21CC','rightrightarrows':'\\u21C9','rightsquigarrow':'\\u219D','RightTee':'\\u22A2','RightTeeArrow':'\\u21A6','RightTeeVector':'\\u295B','rightthreetimes':'\\u22CC','RightTriangle':'\\u22B3','RightTriangleBar':'\\u29D0','RightTriangleEqual':'\\u22B5','RightUpDownVector':'\\u294F','RightUpTeeVector':'\\u295C','RightUpVector':'\\u21BE','RightUpVectorBar':'\\u2954','RightVector':'\\u21C0','RightVectorBar':'\\u2953','ring':'\\u02DA','risingdotseq':'\\u2253','rlarr':'\\u21C4','rlhar':'\\u21CC','rlm':'\\u200F','rmoust':'\\u23B1','rmoustache':'\\u23B1','rnmid':'\\u2AEE','roang':'\\u27ED','roarr':'\\u21FE','robrk':'\\u27E7','ropar':'\\u2986','ropf':'\\uD835\\uDD63','Ropf':'\\u211D','roplus':'\\u2A2E','rotimes':'\\u2A35','RoundImplies':'\\u2970','rpar':')','rpargt':'\\u2994','rppolint':'\\u2A12','rrarr':'\\u21C9','Rrightarrow':'\\u21DB','rsaquo':'\\u203A','rscr':'\\uD835\\uDCC7','Rscr':'\\u211B','rsh':'\\u21B1','Rsh':'\\u21B1','rsqb':']','rsquo':'\\u2019','rsquor':'\\u2019','rthree':'\\u22CC','rtimes':'\\u22CA','rtri':'\\u25B9','rtrie':'\\u22B5','rtrif':'\\u25B8','rtriltri':'\\u29CE','RuleDelayed':'\\u29F4','ruluhar':'\\u2968','rx':'\\u211E','sacute':'\\u015B','Sacute':'\\u015A','sbquo':'\\u201A','sc':'\\u227B','Sc':'\\u2ABC','scap':'\\u2AB8','scaron':'\\u0161','Scaron':'\\u0160','sccue':'\\u227D','sce':'\\u2AB0','scE':'\\u2AB4','scedil':'\\u015F','Scedil':'\\u015E','scirc':'\\u015D','Scirc':'\\u015C','scnap':'\\u2ABA','scnE':'\\u2AB6','scnsim':'\\u22E9','scpolint':'\\u2A13','scsim':'\\u227F','scy':'\\u0441','Scy':'\\u0421','sdot':'\\u22C5','sdotb':'\\u22A1','sdote':'\\u2A66','searhk':'\\u2925','searr':'\\u2198','seArr':'\\u21D8','searrow':'\\u2198','sect':'\\xA7','semi':';','seswar':'\\u2929','setminus':'\\u2216','setmn':'\\u2216','sext':'\\u2736','sfr':'\\uD835\\uDD30','Sfr':'\\uD835\\uDD16','sfrown':'\\u2322','sharp':'\\u266F','shchcy':'\\u0449','SHCHcy':'\\u0429','shcy':'\\u0448','SHcy':'\\u0428','ShortDownArrow':'\\u2193','ShortLeftArrow':'\\u2190','shortmid':'\\u2223','shortparallel':'\\u2225','ShortRightArrow':'\\u2192','ShortUpArrow':'\\u2191','shy':'\\xAD','sigma':'\\u03C3','Sigma':'\\u03A3','sigmaf':'\\u03C2','sigmav':'\\u03C2','sim':'\\u223C','simdot':'\\u2A6A','sime':'\\u2243','simeq':'\\u2243','simg':'\\u2A9E','simgE':'\\u2AA0','siml':'\\u2A9D','simlE':'\\u2A9F','simne':'\\u2246','simplus':'\\u2A24','simrarr':'\\u2972','slarr':'\\u2190','SmallCircle':'\\u2218','smallsetminus':'\\u2216','smashp':'\\u2A33','smeparsl':'\\u29E4','smid':'\\u2223','smile':'\\u2323','smt':'\\u2AAA','smte':'\\u2AAC','smtes':'\\u2AAC\\uFE00','softcy':'\\u044C','SOFTcy':'\\u042C','sol':'/','solb':'\\u29C4','solbar':'\\u233F','sopf':'\\uD835\\uDD64','Sopf':'\\uD835\\uDD4A','spades':'\\u2660','spadesuit':'\\u2660','spar':'\\u2225','sqcap':'\\u2293','sqcaps':'\\u2293\\uFE00','sqcup':'\\u2294','sqcups':'\\u2294\\uFE00','Sqrt':'\\u221A','sqsub':'\\u228F','sqsube':'\\u2291','sqsubset':'\\u228F','sqsubseteq':'\\u2291','sqsup':'\\u2290','sqsupe':'\\u2292','sqsupset':'\\u2290','sqsupseteq':'\\u2292','squ':'\\u25A1','square':'\\u25A1','Square':'\\u25A1','SquareIntersection':'\\u2293','SquareSubset':'\\u228F','SquareSubsetEqual':'\\u2291','SquareSuperset':'\\u2290','SquareSupersetEqual':'\\u2292','SquareUnion':'\\u2294','squarf':'\\u25AA','squf':'\\u25AA','srarr':'\\u2192','sscr':'\\uD835\\uDCC8','Sscr':'\\uD835\\uDCAE','ssetmn':'\\u2216','ssmile':'\\u2323','sstarf':'\\u22C6','star':'\\u2606','Star':'\\u22C6','starf':'\\u2605','straightepsilon':'\\u03F5','straightphi':'\\u03D5','strns':'\\xAF','sub':'\\u2282','Sub':'\\u22D0','subdot':'\\u2ABD','sube':'\\u2286','subE':'\\u2AC5','subedot':'\\u2AC3','submult':'\\u2AC1','subne':'\\u228A','subnE':'\\u2ACB','subplus':'\\u2ABF','subrarr':'\\u2979','subset':'\\u2282','Subset':'\\u22D0','subseteq':'\\u2286','subseteqq':'\\u2AC5','SubsetEqual':'\\u2286','subsetneq':'\\u228A','subsetneqq':'\\u2ACB','subsim':'\\u2AC7','subsub':'\\u2AD5','subsup':'\\u2AD3','succ':'\\u227B','succapprox':'\\u2AB8','succcurlyeq':'\\u227D','Succeeds':'\\u227B','SucceedsEqual':'\\u2AB0','SucceedsSlantEqual':'\\u227D','SucceedsTilde':'\\u227F','succeq':'\\u2AB0','succnapprox':'\\u2ABA','succneqq':'\\u2AB6','succnsim':'\\u22E9','succsim':'\\u227F','SuchThat':'\\u220B','sum':'\\u2211','Sum':'\\u2211','sung':'\\u266A','sup':'\\u2283','Sup':'\\u22D1','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','supdot':'\\u2ABE','supdsub':'\\u2AD8','supe':'\\u2287','supE':'\\u2AC6','supedot':'\\u2AC4','Superset':'\\u2283','SupersetEqual':'\\u2287','suphsol':'\\u27C9','suphsub':'\\u2AD7','suplarr':'\\u297B','supmult':'\\u2AC2','supne':'\\u228B','supnE':'\\u2ACC','supplus':'\\u2AC0','supset':'\\u2283','Supset':'\\u22D1','supseteq':'\\u2287','supseteqq':'\\u2AC6','supsetneq':'\\u228B','supsetneqq':'\\u2ACC','supsim':'\\u2AC8','supsub':'\\u2AD4','supsup':'\\u2AD6','swarhk':'\\u2926','swarr':'\\u2199','swArr':'\\u21D9','swarrow':'\\u2199','swnwar':'\\u292A','szlig':'\\xDF','Tab':'\\t','target':'\\u2316','tau':'\\u03C4','Tau':'\\u03A4','tbrk':'\\u23B4','tcaron':'\\u0165','Tcaron':'\\u0164','tcedil':'\\u0163','Tcedil':'\\u0162','tcy':'\\u0442','Tcy':'\\u0422','tdot':'\\u20DB','telrec':'\\u2315','tfr':'\\uD835\\uDD31','Tfr':'\\uD835\\uDD17','there4':'\\u2234','therefore':'\\u2234','Therefore':'\\u2234','theta':'\\u03B8','Theta':'\\u0398','thetasym':'\\u03D1','thetav':'\\u03D1','thickapprox':'\\u2248','thicksim':'\\u223C','ThickSpace':'\\u205F\\u200A','thinsp':'\\u2009','ThinSpace':'\\u2009','thkap':'\\u2248','thksim':'\\u223C','thorn':'\\xFE','THORN':'\\xDE','tilde':'\\u02DC','Tilde':'\\u223C','TildeEqual':'\\u2243','TildeFullEqual':'\\u2245','TildeTilde':'\\u2248','times':'\\xD7','timesb':'\\u22A0','timesbar':'\\u2A31','timesd':'\\u2A30','tint':'\\u222D','toea':'\\u2928','top':'\\u22A4','topbot':'\\u2336','topcir':'\\u2AF1','topf':'\\uD835\\uDD65','Topf':'\\uD835\\uDD4B','topfork':'\\u2ADA','tosa':'\\u2929','tprime':'\\u2034','trade':'\\u2122','TRADE':'\\u2122','triangle':'\\u25B5','triangledown':'\\u25BF','triangleleft':'\\u25C3','trianglelefteq':'\\u22B4','triangleq':'\\u225C','triangleright':'\\u25B9','trianglerighteq':'\\u22B5','tridot':'\\u25EC','trie':'\\u225C','triminus':'\\u2A3A','TripleDot':'\\u20DB','triplus':'\\u2A39','trisb':'\\u29CD','tritime':'\\u2A3B','trpezium':'\\u23E2','tscr':'\\uD835\\uDCC9','Tscr':'\\uD835\\uDCAF','tscy':'\\u0446','TScy':'\\u0426','tshcy':'\\u045B','TSHcy':'\\u040B','tstrok':'\\u0167','Tstrok':'\\u0166','twixt':'\\u226C','twoheadleftarrow':'\\u219E','twoheadrightarrow':'\\u21A0','uacute':'\\xFA','Uacute':'\\xDA','uarr':'\\u2191','uArr':'\\u21D1','Uarr':'\\u219F','Uarrocir':'\\u2949','ubrcy':'\\u045E','Ubrcy':'\\u040E','ubreve':'\\u016D','Ubreve':'\\u016C','ucirc':'\\xFB','Ucirc':'\\xDB','ucy':'\\u0443','Ucy':'\\u0423','udarr':'\\u21C5','udblac':'\\u0171','Udblac':'\\u0170','udhar':'\\u296E','ufisht':'\\u297E','ufr':'\\uD835\\uDD32','Ufr':'\\uD835\\uDD18','ugrave':'\\xF9','Ugrave':'\\xD9','uHar':'\\u2963','uharl':'\\u21BF','uharr':'\\u21BE','uhblk':'\\u2580','ulcorn':'\\u231C','ulcorner':'\\u231C','ulcrop':'\\u230F','ultri':'\\u25F8','umacr':'\\u016B','Umacr':'\\u016A','uml':'\\xA8','UnderBar':'_','UnderBrace':'\\u23DF','UnderBracket':'\\u23B5','UnderParenthesis':'\\u23DD','Union':'\\u22C3','UnionPlus':'\\u228E','uogon':'\\u0173','Uogon':'\\u0172','uopf':'\\uD835\\uDD66','Uopf':'\\uD835\\uDD4C','uparrow':'\\u2191','Uparrow':'\\u21D1','UpArrow':'\\u2191','UpArrowBar':'\\u2912','UpArrowDownArrow':'\\u21C5','updownarrow':'\\u2195','Updownarrow':'\\u21D5','UpDownArrow':'\\u2195','UpEquilibrium':'\\u296E','upharpoonleft':'\\u21BF','upharpoonright':'\\u21BE','uplus':'\\u228E','UpperLeftArrow':'\\u2196','UpperRightArrow':'\\u2197','upsi':'\\u03C5','Upsi':'\\u03D2','upsih':'\\u03D2','upsilon':'\\u03C5','Upsilon':'\\u03A5','UpTee':'\\u22A5','UpTeeArrow':'\\u21A5','upuparrows':'\\u21C8','urcorn':'\\u231D','urcorner':'\\u231D','urcrop':'\\u230E','uring':'\\u016F','Uring':'\\u016E','urtri':'\\u25F9','uscr':'\\uD835\\uDCCA','Uscr':'\\uD835\\uDCB0','utdot':'\\u22F0','utilde':'\\u0169','Utilde':'\\u0168','utri':'\\u25B5','utrif':'\\u25B4','uuarr':'\\u21C8','uuml':'\\xFC','Uuml':'\\xDC','uwangle':'\\u29A7','vangrt':'\\u299C','varepsilon':'\\u03F5','varkappa':'\\u03F0','varnothing':'\\u2205','varphi':'\\u03D5','varpi':'\\u03D6','varpropto':'\\u221D','varr':'\\u2195','vArr':'\\u21D5','varrho':'\\u03F1','varsigma':'\\u03C2','varsubsetneq':'\\u228A\\uFE00','varsubsetneqq':'\\u2ACB\\uFE00','varsupsetneq':'\\u228B\\uFE00','varsupsetneqq':'\\u2ACC\\uFE00','vartheta':'\\u03D1','vartriangleleft':'\\u22B2','vartriangleright':'\\u22B3','vBar':'\\u2AE8','Vbar':'\\u2AEB','vBarv':'\\u2AE9','vcy':'\\u0432','Vcy':'\\u0412','vdash':'\\u22A2','vDash':'\\u22A8','Vdash':'\\u22A9','VDash':'\\u22AB','Vdashl':'\\u2AE6','vee':'\\u2228','Vee':'\\u22C1','veebar':'\\u22BB','veeeq':'\\u225A','vellip':'\\u22EE','verbar':'|','Verbar':'\\u2016','vert':'|','Vert':'\\u2016','VerticalBar':'\\u2223','VerticalLine':'|','VerticalSeparator':'\\u2758','VerticalTilde':'\\u2240','VeryThinSpace':'\\u200A','vfr':'\\uD835\\uDD33','Vfr':'\\uD835\\uDD19','vltri':'\\u22B2','vnsub':'\\u2282\\u20D2','vnsup':'\\u2283\\u20D2','vopf':'\\uD835\\uDD67','Vopf':'\\uD835\\uDD4D','vprop':'\\u221D','vrtri':'\\u22B3','vscr':'\\uD835\\uDCCB','Vscr':'\\uD835\\uDCB1','vsubne':'\\u228A\\uFE00','vsubnE':'\\u2ACB\\uFE00','vsupne':'\\u228B\\uFE00','vsupnE':'\\u2ACC\\uFE00','Vvdash':'\\u22AA','vzigzag':'\\u299A','wcirc':'\\u0175','Wcirc':'\\u0174','wedbar':'\\u2A5F','wedge':'\\u2227','Wedge':'\\u22C0','wedgeq':'\\u2259','weierp':'\\u2118','wfr':'\\uD835\\uDD34','Wfr':'\\uD835\\uDD1A','wopf':'\\uD835\\uDD68','Wopf':'\\uD835\\uDD4E','wp':'\\u2118','wr':'\\u2240','wreath':'\\u2240','wscr':'\\uD835\\uDCCC','Wscr':'\\uD835\\uDCB2','xcap':'\\u22C2','xcirc':'\\u25EF','xcup':'\\u22C3','xdtri':'\\u25BD','xfr':'\\uD835\\uDD35','Xfr':'\\uD835\\uDD1B','xharr':'\\u27F7','xhArr':'\\u27FA','xi':'\\u03BE','Xi':'\\u039E','xlarr':'\\u27F5','xlArr':'\\u27F8','xmap':'\\u27FC','xnis':'\\u22FB','xodot':'\\u2A00','xopf':'\\uD835\\uDD69','Xopf':'\\uD835\\uDD4F','xoplus':'\\u2A01','xotime':'\\u2A02','xrarr':'\\u27F6','xrArr':'\\u27F9','xscr':'\\uD835\\uDCCD','Xscr':'\\uD835\\uDCB3','xsqcup':'\\u2A06','xuplus':'\\u2A04','xutri':'\\u25B3','xvee':'\\u22C1','xwedge':'\\u22C0','yacute':'\\xFD','Yacute':'\\xDD','yacy':'\\u044F','YAcy':'\\u042F','ycirc':'\\u0177','Ycirc':'\\u0176','ycy':'\\u044B','Ycy':'\\u042B','yen':'\\xA5','yfr':'\\uD835\\uDD36','Yfr':'\\uD835\\uDD1C','yicy':'\\u0457','YIcy':'\\u0407','yopf':'\\uD835\\uDD6A','Yopf':'\\uD835\\uDD50','yscr':'\\uD835\\uDCCE','Yscr':'\\uD835\\uDCB4','yucy':'\\u044E','YUcy':'\\u042E','yuml':'\\xFF','Yuml':'\\u0178','zacute':'\\u017A','Zacute':'\\u0179','zcaron':'\\u017E','Zcaron':'\\u017D','zcy':'\\u0437','Zcy':'\\u0417','zdot':'\\u017C','Zdot':'\\u017B','zeetrf':'\\u2128','ZeroWidthSpace':'\\u200B','zeta':'\\u03B6','Zeta':'\\u0396','zfr':'\\uD835\\uDD37','Zfr':'\\u2128','zhcy':'\\u0436','ZHcy':'\\u0416','zigrarr':'\\u21DD','zopf':'\\uD835\\uDD6B','Zopf':'\\u2124','zscr':'\\uD835\\uDCCF','Zscr':'\\uD835\\uDCB5','zwj':'\\u200D','zwnj':'\\u200C'};\n\tvar decodeMapLegacy = {'aacute':'\\xE1','Aacute':'\\xC1','acirc':'\\xE2','Acirc':'\\xC2','acute':'\\xB4','aelig':'\\xE6','AElig':'\\xC6','agrave':'\\xE0','Agrave':'\\xC0','amp':'&','AMP':'&','aring':'\\xE5','Aring':'\\xC5','atilde':'\\xE3','Atilde':'\\xC3','auml':'\\xE4','Auml':'\\xC4','brvbar':'\\xA6','ccedil':'\\xE7','Ccedil':'\\xC7','cedil':'\\xB8','cent':'\\xA2','copy':'\\xA9','COPY':'\\xA9','curren':'\\xA4','deg':'\\xB0','divide':'\\xF7','eacute':'\\xE9','Eacute':'\\xC9','ecirc':'\\xEA','Ecirc':'\\xCA','egrave':'\\xE8','Egrave':'\\xC8','eth':'\\xF0','ETH':'\\xD0','euml':'\\xEB','Euml':'\\xCB','frac12':'\\xBD','frac14':'\\xBC','frac34':'\\xBE','gt':'>','GT':'>','iacute':'\\xED','Iacute':'\\xCD','icirc':'\\xEE','Icirc':'\\xCE','iexcl':'\\xA1','igrave':'\\xEC','Igrave':'\\xCC','iquest':'\\xBF','iuml':'\\xEF','Iuml':'\\xCF','laquo':'\\xAB','lt':'<','LT':'<','macr':'\\xAF','micro':'\\xB5','middot':'\\xB7','nbsp':'\\xA0','not':'\\xAC','ntilde':'\\xF1','Ntilde':'\\xD1','oacute':'\\xF3','Oacute':'\\xD3','ocirc':'\\xF4','Ocirc':'\\xD4','ograve':'\\xF2','Ograve':'\\xD2','ordf':'\\xAA','ordm':'\\xBA','oslash':'\\xF8','Oslash':'\\xD8','otilde':'\\xF5','Otilde':'\\xD5','ouml':'\\xF6','Ouml':'\\xD6','para':'\\xB6','plusmn':'\\xB1','pound':'\\xA3','quot':'\"','QUOT':'\"','raquo':'\\xBB','reg':'\\xAE','REG':'\\xAE','sect':'\\xA7','shy':'\\xAD','sup1':'\\xB9','sup2':'\\xB2','sup3':'\\xB3','szlig':'\\xDF','thorn':'\\xFE','THORN':'\\xDE','times':'\\xD7','uacute':'\\xFA','Uacute':'\\xDA','ucirc':'\\xFB','Ucirc':'\\xDB','ugrave':'\\xF9','Ugrave':'\\xD9','uml':'\\xA8','uuml':'\\xFC','Uuml':'\\xDC','yacute':'\\xFD','Yacute':'\\xDD','yen':'\\xA5','yuml':'\\xFF'};\n\tvar decodeMapNumeric = {'0':'\\uFFFD','128':'\\u20AC','130':'\\u201A','131':'\\u0192','132':'\\u201E','133':'\\u2026','134':'\\u2020','135':'\\u2021','136':'\\u02C6','137':'\\u2030','138':'\\u0160','139':'\\u2039','140':'\\u0152','142':'\\u017D','145':'\\u2018','146':'\\u2019','147':'\\u201C','148':'\\u201D','149':'\\u2022','150':'\\u2013','151':'\\u2014','152':'\\u02DC','153':'\\u2122','154':'\\u0161','155':'\\u203A','156':'\\u0153','158':'\\u017E','159':'\\u0178'};\n\tvar invalidReferenceCodePoints = [1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65000,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111];\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\tvar object = {};\n\tvar hasOwnProperty = object.hasOwnProperty;\n\tvar has = function(object, propertyName) {\n\t\treturn hasOwnProperty.call(object, propertyName);\n\t};\n\n\tvar contains = function(array, value) {\n\t\tvar index = -1;\n\t\tvar length = array.length;\n\t\twhile (++index < length) {\n\t\t\tif (array[index] == value) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t};\n\n\tvar merge = function(options, defaults) {\n\t\tif (!options) {\n\t\t\treturn defaults;\n\t\t}\n\t\tvar result = {};\n\t\tvar key;\n\t\tfor (key in defaults) {\n\t\t\t// A `hasOwnProperty` check is not needed here, since only recognized\n\t\t\t// option names are used anyway. Any others are ignored.\n\t\t\tresult[key] = has(options, key) ? options[key] : defaults[key];\n\t\t}\n\t\treturn result;\n\t};\n\n\t// Modified version of `ucs2encode`; see https://mths.be/punycode.\n\tvar codePointToSymbol = function(codePoint, strict) {\n\t\tvar output = '';\n\t\tif ((codePoint >= 0xD800 && codePoint <= 0xDFFF) || codePoint > 0x10FFFF) {\n\t\t\t// See issue #4:\n\t\t\t// “Otherwise, if the number is in the range 0xD800 to 0xDFFF or is\n\t\t\t// greater than 0x10FFFF, then this is a parse error. Return a U+FFFD\n\t\t\t// REPLACEMENT CHARACTER.”\n\t\t\tif (strict) {\n\t\t\t\tparseError('character reference outside the permissible Unicode range');\n\t\t\t}\n\t\t\treturn '\\uFFFD';\n\t\t}\n\t\tif (has(decodeMapNumeric, codePoint)) {\n\t\t\tif (strict) {\n\t\t\t\tparseError('disallowed character reference');\n\t\t\t}\n\t\t\treturn decodeMapNumeric[codePoint];\n\t\t}\n\t\tif (strict && contains(invalidReferenceCodePoints, codePoint)) {\n\t\t\tparseError('disallowed character reference');\n\t\t}\n\t\tif (codePoint > 0xFFFF) {\n\t\t\tcodePoint -= 0x10000;\n\t\t\toutput += stringFromCharCode(codePoint >>> 10 & 0x3FF | 0xD800);\n\t\t\tcodePoint = 0xDC00 | codePoint & 0x3FF;\n\t\t}\n\t\toutput += stringFromCharCode(codePoint);\n\t\treturn output;\n\t};\n\n\tvar hexEscape = function(codePoint) {\n\t\treturn '&#x' + codePoint.toString(16).toUpperCase() + ';';\n\t};\n\n\tvar decEscape = function(codePoint) {\n\t\treturn '&#' + codePoint + ';';\n\t};\n\n\tvar parseError = function(message) {\n\t\tthrow Error('Parse error: ' + message);\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar encode = function(string, options) {\n\t\toptions = merge(options, encode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidRawCodePoint.test(string)) {\n\t\t\tparseError('forbidden code point');\n\t\t}\n\t\tvar encodeEverything = options.encodeEverything;\n\t\tvar useNamedReferences = options.useNamedReferences;\n\t\tvar allowUnsafeSymbols = options.allowUnsafeSymbols;\n\t\tvar escapeCodePoint = options.decimal ? decEscape : hexEscape;\n\n\t\tvar escapeBmpSymbol = function(symbol) {\n\t\t\treturn escapeCodePoint(symbol.charCodeAt(0));\n\t\t};\n\n\t\tif (encodeEverything) {\n\t\t\t// Encode ASCII symbols.\n\t\t\tstring = string.replace(regexAsciiWhitelist, function(symbol) {\n\t\t\t\t// Use named references if requested & possible.\n\t\t\t\tif (useNamedReferences && has(encodeMap, symbol)) {\n\t\t\t\t\treturn '&' + encodeMap[symbol] + ';';\n\t\t\t\t}\n\t\t\t\treturn escapeBmpSymbol(symbol);\n\t\t\t});\n\t\t\t// Shorten a few escapes that represent two symbols, of which at least one\n\t\t\t// is within the ASCII range.\n\t\t\tif (useNamedReferences) {\n\t\t\t\tstring = string\n\t\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t\t.replace(/<\\u20D2/g, '<⃒')\n\t\t\t\t\t.replace(/fj/g, 'fj');\n\t\t\t}\n\t\t\t// Encode non-ASCII symbols.\n\t\t\tif (useNamedReferences) {\n\t\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Note: any remaining non-ASCII symbols are handled outside of the `if`.\n\t\t} else if (useNamedReferences) {\n\t\t\t// Apply named character references.\n\t\t\t// Encode `<>\"'&` using named character references.\n\t\t\tif (!allowUnsafeSymbols) {\n\t\t\t\tstring = string.replace(regexEscape, function(string) {\n\t\t\t\t\treturn '&' + encodeMap[string] + ';'; // no need to check `has()` here\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Shorten escapes that represent two symbols, of which at least one is\n\t\t\t// `<>\"'&`.\n\t\t\tstring = string\n\t\t\t\t.replace(/>\\u20D2/g, '>⃒')\n\t\t\t\t.replace(/<\\u20D2/g, '<⃒');\n\t\t\t// Encode non-ASCII symbols that can be replaced with a named reference.\n\t\t\tstring = string.replace(regexEncodeNonAscii, function(string) {\n\t\t\t\t// Note: there is no need to check `has(encodeMap, string)` here.\n\t\t\t\treturn '&' + encodeMap[string] + ';';\n\t\t\t});\n\t\t} else if (!allowUnsafeSymbols) {\n\t\t\t// Encode `<>\"'&` using hexadecimal escapes, now that they’re not handled\n\t\t\t// using named character references.\n\t\t\tstring = string.replace(regexEscape, escapeBmpSymbol);\n\t\t}\n\t\treturn string\n\t\t\t// Encode astral symbols.\n\t\t\t.replace(regexAstralSymbols, function($0) {\n\t\t\t\t// https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n\t\t\t\tvar high = $0.charCodeAt(0);\n\t\t\t\tvar low = $0.charCodeAt(1);\n\t\t\t\tvar codePoint = (high - 0xD800) * 0x400 + low - 0xDC00 + 0x10000;\n\t\t\t\treturn escapeCodePoint(codePoint);\n\t\t\t})\n\t\t\t// Encode any remaining BMP symbols that are not printable ASCII symbols\n\t\t\t// using a hexadecimal escape.\n\t\t\t.replace(regexBmpWhitelist, escapeBmpSymbol);\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tencode.options = {\n\t\t'allowUnsafeSymbols': false,\n\t\t'encodeEverything': false,\n\t\t'strict': false,\n\t\t'useNamedReferences': false,\n\t\t'decimal' : false\n\t};\n\n\tvar decode = function(html, options) {\n\t\toptions = merge(options, decode.options);\n\t\tvar strict = options.strict;\n\t\tif (strict && regexInvalidEntity.test(html)) {\n\t\t\tparseError('malformed character reference');\n\t\t}\n\t\treturn html.replace(regexDecode, function($0, $1, $2, $3, $4, $5, $6, $7, $8) {\n\t\t\tvar codePoint;\n\t\t\tvar semicolon;\n\t\t\tvar decDigits;\n\t\t\tvar hexDigits;\n\t\t\tvar reference;\n\t\t\tvar next;\n\n\t\t\tif ($1) {\n\t\t\t\treference = $1;\n\t\t\t\t// Note: there is no need to check `has(decodeMap, reference)`.\n\t\t\t\treturn decodeMap[reference];\n\t\t\t}\n\n\t\t\tif ($2) {\n\t\t\t\t// Decode named character references without trailing `;`, e.g. `&`.\n\t\t\t\t// This is only a parse error if it gets converted to `&`, or if it is\n\t\t\t\t// followed by `=` in an attribute context.\n\t\t\t\treference = $2;\n\t\t\t\tnext = $3;\n\t\t\t\tif (next && options.isAttributeValue) {\n\t\t\t\t\tif (strict && next == '=') {\n\t\t\t\t\t\tparseError('`&` did not start a character reference');\n\t\t\t\t\t}\n\t\t\t\t\treturn $0;\n\t\t\t\t} else {\n\t\t\t\t\tif (strict) {\n\t\t\t\t\t\tparseError(\n\t\t\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// Note: there is no need to check `has(decodeMapLegacy, reference)`.\n\t\t\t\t\treturn decodeMapLegacy[reference] + (next || '');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ($4) {\n\t\t\t\t// Decode decimal escapes, e.g. `𝌆`.\n\t\t\t\tdecDigits = $4;\n\t\t\t\tsemicolon = $5;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(decDigits, 10);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\tif ($6) {\n\t\t\t\t// Decode hexadecimal escapes, e.g. `𝌆`.\n\t\t\t\thexDigits = $6;\n\t\t\t\tsemicolon = $7;\n\t\t\t\tif (strict && !semicolon) {\n\t\t\t\t\tparseError('character reference was not terminated by a semicolon');\n\t\t\t\t}\n\t\t\t\tcodePoint = parseInt(hexDigits, 16);\n\t\t\t\treturn codePointToSymbol(codePoint, strict);\n\t\t\t}\n\n\t\t\t// If we’re still here, `if ($7)` is implied; it’s an ambiguous\n\t\t\t// ampersand for sure. https://mths.be/notes/ambiguous-ampersands\n\t\t\tif (strict) {\n\t\t\t\tparseError(\n\t\t\t\t\t'named character reference was not terminated by a semicolon'\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn $0;\n\t\t});\n\t};\n\t// Expose default options (so they can be overridden globally).\n\tdecode.options = {\n\t\t'isAttributeValue': false,\n\t\t'strict': false\n\t};\n\n\tvar escape = function(string) {\n\t\treturn string.replace(regexEscape, function($0) {\n\t\t\t// Note: there is no need to check `has(escapeMap, $0)` here.\n\t\t\treturn escapeMap[$0];\n\t\t});\n\t};\n\n\t/*--------------------------------------------------------------------------*/\n\n\tvar he = {\n\t\t'version': '1.2.0',\n\t\t'encode': encode,\n\t\t'decode': decode,\n\t\t'escape': escape,\n\t\t'unescape': decode\n\t};\n\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine(function() {\n\t\t\treturn he;\n\t\t});\n\t}\telse if (freeExports && !freeExports.nodeType) {\n\t\tif (freeModule) { // in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = he;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (var key in he) {\n\t\t\t\thas(he, key) && (freeExports[key] = he[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.he = he;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define('underscore', factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, (function () {\n var current = global._;\n var exports = global._ = factory();\n exports.noConflict = function () { global._ = current; return exports; };\n }()));\n}(this, (function () {\n // Underscore.js 1.13.6\n // https://underscorejs.org\n // (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors\n // Underscore may be freely distributed under the MIT license.\n\n // Current version.\n var VERSION = '1.13.6';\n\n // Establish the root object, `window` (`self`) in the browser, `global`\n // on the server, or `this` in some virtual machines. We use `self`\n // instead of `window` for `WebWorker` support.\n var root = (typeof self == 'object' && self.self === self && self) ||\n (typeof global == 'object' && global.global === global && global) ||\n Function('return this')() ||\n {};\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype;\n var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n // Create quick reference variables for speed access to core prototypes.\n var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // Modern feature detection.\n var supportsArrayBuffer = typeof ArrayBuffer !== 'undefined',\n supportsDataView = typeof DataView !== 'undefined';\n\n // All **ECMAScript 5+** native function implementations that we hope to use\n // are declared here.\n var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create,\n nativeIsView = supportsArrayBuffer && ArrayBuffer.isView;\n\n // Create references to these builtin functions because we override them.\n var _isNaN = isNaN,\n _isFinite = isFinite;\n\n // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n // The largest integer that can be represented exactly.\n var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n\n // Some functions take a variable number of arguments, or a few expected\n // arguments at the beginning and then a variable number of values to operate\n // on. This helper accumulates all remaining arguments past the function’s\n // argument length (or an explicit `startIndex`), into an array that becomes\n // the last argument. Similar to ES6’s \"rest parameter\".\n function restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n }\n\n // Is a given variable an object?\n function isObject(obj) {\n var type = typeof obj;\n return type === 'function' || (type === 'object' && !!obj);\n }\n\n // Is a given value equal to null?\n function isNull(obj) {\n return obj === null;\n }\n\n // Is a given variable undefined?\n function isUndefined(obj) {\n return obj === void 0;\n }\n\n // Is a given value a boolean?\n function isBoolean(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n }\n\n // Is a given value a DOM element?\n function isElement(obj) {\n return !!(obj && obj.nodeType === 1);\n }\n\n // Internal function for creating a `toString`-based type tester.\n function tagTester(name) {\n var tag = '[object ' + name + ']';\n return function(obj) {\n return toString.call(obj) === tag;\n };\n }\n\n var isString = tagTester('String');\n\n var isNumber = tagTester('Number');\n\n var isDate = tagTester('Date');\n\n var isRegExp = tagTester('RegExp');\n\n var isError = tagTester('Error');\n\n var isSymbol = tagTester('Symbol');\n\n var isArrayBuffer = tagTester('ArrayBuffer');\n\n var isFunction = tagTester('Function');\n\n // Optimize `isFunction` if appropriate. Work around some `typeof` bugs in old\n // v8, IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\n var nodelist = root.document && root.document.childNodes;\n if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n var isFunction$1 = isFunction;\n\n var hasObjectTag = tagTester('Object');\n\n // In IE 10 - Edge 13, `DataView` has string tag `'[object Object]'`.\n // In IE 11, the most common among them, this problem also applies to\n // `Map`, `WeakMap` and `Set`.\n var hasStringTagBug = (\n supportsDataView && hasObjectTag(new DataView(new ArrayBuffer(8)))\n ),\n isIE11 = (typeof Map !== 'undefined' && hasObjectTag(new Map));\n\n var isDataView = tagTester('DataView');\n\n // In IE 10 - Edge 13, we need a different heuristic\n // to determine whether an object is a `DataView`.\n function ie10IsDataView(obj) {\n return obj != null && isFunction$1(obj.getInt8) && isArrayBuffer(obj.buffer);\n }\n\n var isDataView$1 = (hasStringTagBug ? ie10IsDataView : isDataView);\n\n // Is a given value an array?\n // Delegates to ECMA5's native `Array.isArray`.\n var isArray = nativeIsArray || tagTester('Array');\n\n // Internal function to check whether `key` is an own property name of `obj`.\n function has$1(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n }\n\n var isArguments = tagTester('Arguments');\n\n // Define a fallback version of the method in browsers (ahem, IE < 9), where\n // there isn't any inspectable \"Arguments\" type.\n (function() {\n if (!isArguments(arguments)) {\n isArguments = function(obj) {\n return has$1(obj, 'callee');\n };\n }\n }());\n\n var isArguments$1 = isArguments;\n\n // Is a given object a finite number?\n function isFinite$1(obj) {\n return !isSymbol(obj) && _isFinite(obj) && !isNaN(parseFloat(obj));\n }\n\n // Is the given value `NaN`?\n function isNaN$1(obj) {\n return isNumber(obj) && _isNaN(obj);\n }\n\n // Predicate-generating function. Often useful outside of Underscore.\n function constant(value) {\n return function() {\n return value;\n };\n }\n\n // Common internal logic for `isArrayLike` and `isBufferLike`.\n function createSizePropertyCheck(getSizeProperty) {\n return function(collection) {\n var sizeProperty = getSizeProperty(collection);\n return typeof sizeProperty == 'number' && sizeProperty >= 0 && sizeProperty <= MAX_ARRAY_INDEX;\n }\n }\n\n // Internal helper to generate a function to obtain property `key` from `obj`.\n function shallowProperty(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n }\n\n // Internal helper to obtain the `byteLength` property of an object.\n var getByteLength = shallowProperty('byteLength');\n\n // Internal helper to determine whether we should spend extensive checks against\n // `ArrayBuffer` et al.\n var isBufferLike = createSizePropertyCheck(getByteLength);\n\n // Is a given value a typed array?\n var typedArrayPattern = /\\[object ((I|Ui)nt(8|16|32)|Float(32|64)|Uint8Clamped|Big(I|Ui)nt64)Array\\]/;\n function isTypedArray(obj) {\n // `ArrayBuffer.isView` is the most future-proof, so use it when available.\n // Otherwise, fall back on the above regular expression.\n return nativeIsView ? (nativeIsView(obj) && !isDataView$1(obj)) :\n isBufferLike(obj) && typedArrayPattern.test(toString.call(obj));\n }\n\n var isTypedArray$1 = supportsArrayBuffer ? isTypedArray : constant(false);\n\n // Internal helper to obtain the `length` property of an object.\n var getLength = shallowProperty('length');\n\n // Internal helper to create a simple lookup structure.\n // `collectNonEnumProps` used to depend on `_.contains`, but this led to\n // circular imports. `emulatedSet` is a one-off solution that only works for\n // arrays of strings.\n function emulatedSet(keys) {\n var hash = {};\n for (var l = keys.length, i = 0; i < l; ++i) hash[keys[i]] = true;\n return {\n contains: function(key) { return hash[key] === true; },\n push: function(key) {\n hash[key] = true;\n return keys.push(key);\n }\n };\n }\n\n // Internal helper. Checks `keys` for the presence of keys in IE < 9 that won't\n // be iterated by `for key in ...` and thus missed. Extends `keys` in place if\n // needed.\n function collectNonEnumProps(obj, keys) {\n keys = emulatedSet(keys);\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (isFunction$1(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has$1(obj, prop) && !keys.contains(prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !keys.contains(prop)) {\n keys.push(prop);\n }\n }\n }\n\n // Retrieve the names of an object's own properties.\n // Delegates to **ECMAScript 5**'s native `Object.keys`.\n function keys(obj) {\n if (!isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has$1(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n }\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n function isEmpty(obj) {\n if (obj == null) return true;\n // Skip the more expensive `toString`-based type checks if `obj` has no\n // `.length`.\n var length = getLength(obj);\n if (typeof length == 'number' && (\n isArray(obj) || isString(obj) || isArguments$1(obj)\n )) return length === 0;\n return getLength(keys(obj)) === 0;\n }\n\n // Returns whether an object has a given set of `key:value` pairs.\n function isMatch(object, attrs) {\n var _keys = keys(attrs), length = _keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n }\n\n // If Underscore is called as a function, it returns a wrapped object that can\n // be used OO-style. This wrapper holds altered versions of all functions added\n // through `_.mixin`. Wrapped objects may be chained.\n function _$1(obj) {\n if (obj instanceof _$1) return obj;\n if (!(this instanceof _$1)) return new _$1(obj);\n this._wrapped = obj;\n }\n\n _$1.VERSION = VERSION;\n\n // Extracts the result from a wrapped and chained object.\n _$1.prototype.value = function() {\n return this._wrapped;\n };\n\n // Provide unwrapping proxies for some methods used in engine operations\n // such as arithmetic and JSON stringification.\n _$1.prototype.valueOf = _$1.prototype.toJSON = _$1.prototype.value;\n\n _$1.prototype.toString = function() {\n return String(this._wrapped);\n };\n\n // Internal function to wrap or shallow-copy an ArrayBuffer,\n // typed array or DataView to a new view, reusing the buffer.\n function toBufferView(bufferSource) {\n return new Uint8Array(\n bufferSource.buffer || bufferSource,\n bufferSource.byteOffset || 0,\n getByteLength(bufferSource)\n );\n }\n\n // We use this string twice, so give it a name for minification.\n var tagDataView = '[object DataView]';\n\n // Internal recursive comparison function for `_.isEqual`.\n function eq(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n }\n\n // Internal recursive comparison function for `_.isEqual`.\n function deepEq(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _$1) a = a._wrapped;\n if (b instanceof _$1) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n // Work around a bug in IE 10 - Edge 13.\n if (hasStringTagBug && className == '[object Object]' && isDataView$1(a)) {\n if (!isDataView$1(b)) return false;\n className = tagDataView;\n }\n switch (className) {\n // These types are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n case '[object ArrayBuffer]':\n case tagDataView:\n // Coerce to typed array so we can fall through.\n return deepEq(toBufferView(a), toBufferView(b), aStack, bStack);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays && isTypedArray$1(a)) {\n var byteLength = getByteLength(a);\n if (byteLength !== getByteLength(b)) return false;\n if (a.buffer === b.buffer && a.byteOffset === b.byteOffset) return true;\n areArrays = true;\n }\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction$1(aCtor) && aCtor instanceof aCtor &&\n isFunction$1(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var _keys = keys(a), key;\n length = _keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = _keys[length];\n if (!(has$1(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n }\n\n // Perform a deep comparison to check if two objects are equal.\n function isEqual(a, b) {\n return eq(a, b);\n }\n\n // Retrieve all the enumerable property names of an object.\n function allKeys(obj) {\n if (!isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n }\n\n // Since the regular `Object.prototype.toString` type tests don't work for\n // some types in IE 11, we use a fingerprinting heuristic instead, based\n // on the methods. It's not great, but it's the best we got.\n // The fingerprint method lists are defined below.\n function ie11fingerprint(methods) {\n var length = getLength(methods);\n return function(obj) {\n if (obj == null) return false;\n // `Map`, `WeakMap` and `Set` have no enumerable keys.\n var keys = allKeys(obj);\n if (getLength(keys)) return false;\n for (var i = 0; i < length; i++) {\n if (!isFunction$1(obj[methods[i]])) return false;\n }\n // If we are testing against `WeakMap`, we need to ensure that\n // `obj` doesn't have a `forEach` method in order to distinguish\n // it from a regular `Map`.\n return methods !== weakMapMethods || !isFunction$1(obj[forEachName]);\n };\n }\n\n // In the interest of compact minification, we write\n // each string in the fingerprints only once.\n var forEachName = 'forEach',\n hasName = 'has',\n commonInit = ['clear', 'delete'],\n mapTail = ['get', hasName, 'set'];\n\n // `Map`, `WeakMap` and `Set` each have slightly different\n // combinations of the above sublists.\n var mapMethods = commonInit.concat(forEachName, mapTail),\n weakMapMethods = commonInit.concat(mapTail),\n setMethods = ['add'].concat(commonInit, forEachName, hasName);\n\n var isMap = isIE11 ? ie11fingerprint(mapMethods) : tagTester('Map');\n\n var isWeakMap = isIE11 ? ie11fingerprint(weakMapMethods) : tagTester('WeakMap');\n\n var isSet = isIE11 ? ie11fingerprint(setMethods) : tagTester('Set');\n\n var isWeakSet = tagTester('WeakSet');\n\n // Retrieve the values of an object's properties.\n function values(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[_keys[i]];\n }\n return values;\n }\n\n // Convert an object into a list of `[key, value]` pairs.\n // The opposite of `_.object` with one argument.\n function pairs(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [_keys[i], obj[_keys[i]]];\n }\n return pairs;\n }\n\n // Invert the keys and values of an object. The values must be serializable.\n function invert(obj) {\n var result = {};\n var _keys = keys(obj);\n for (var i = 0, length = _keys.length; i < length; i++) {\n result[obj[_keys[i]]] = _keys[i];\n }\n return result;\n }\n\n // Return a sorted list of the function names available on the object.\n function functions(obj) {\n var names = [];\n for (var key in obj) {\n if (isFunction$1(obj[key])) names.push(key);\n }\n return names.sort();\n }\n\n // An internal function for creating assigner functions.\n function createAssigner(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n }\n\n // Extend a given object with all the properties in passed-in object(s).\n var extend = createAssigner(allKeys);\n\n // Assigns a given object with all the own properties in the passed-in\n // object(s).\n // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n var extendOwn = createAssigner(keys);\n\n // Fill in a given object with default properties.\n var defaults = createAssigner(allKeys, true);\n\n // Create a naked function reference for surrogate-prototype-swapping.\n function ctor() {\n return function(){};\n }\n\n // An internal function for creating a new object that inherits from another.\n function baseCreate(prototype) {\n if (!isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n var Ctor = ctor();\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n }\n\n // Creates an object that inherits from the given prototype object.\n // If additional properties are provided then they will be added to the\n // created object.\n function create(prototype, props) {\n var result = baseCreate(prototype);\n if (props) extendOwn(result, props);\n return result;\n }\n\n // Create a (shallow-cloned) duplicate of an object.\n function clone(obj) {\n if (!isObject(obj)) return obj;\n return isArray(obj) ? obj.slice() : extend({}, obj);\n }\n\n // Invokes `interceptor` with the `obj` and then returns `obj`.\n // The primary purpose of this method is to \"tap into\" a method chain, in\n // order to perform operations on intermediate results within the chain.\n function tap(obj, interceptor) {\n interceptor(obj);\n return obj;\n }\n\n // Normalize a (deep) property `path` to array.\n // Like `_.iteratee`, this function can be customized.\n function toPath$1(path) {\n return isArray(path) ? path : [path];\n }\n _$1.toPath = toPath$1;\n\n // Internal wrapper for `_.toPath` to enable minification.\n // Similar to `cb` for `_.iteratee`.\n function toPath(path) {\n return _$1.toPath(path);\n }\n\n // Internal function to obtain a nested property in `obj` along `path`.\n function deepGet(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n }\n\n // Get the value of the (deep) property on `path` from `object`.\n // If any property in `path` does not exist or if the value is\n // `undefined`, return `defaultValue` instead.\n // The `path` is normalized through `_.toPath`.\n function get(object, path, defaultValue) {\n var value = deepGet(object, toPath(path));\n return isUndefined(value) ? defaultValue : value;\n }\n\n // Shortcut function for checking if an object has a given property directly on\n // itself (in other words, not on a prototype). Unlike the internal `has`\n // function, this public version can also traverse nested properties.\n function has(obj, path) {\n path = toPath(path);\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (!has$1(obj, key)) return false;\n obj = obj[key];\n }\n return !!length;\n }\n\n // Keep the identity function around for default iteratees.\n function identity(value) {\n return value;\n }\n\n // Returns a predicate for checking whether an object has a given set of\n // `key:value` pairs.\n function matcher(attrs) {\n attrs = extendOwn({}, attrs);\n return function(obj) {\n return isMatch(obj, attrs);\n };\n }\n\n // Creates a function that, when passed an object, will traverse that object’s\n // properties down the given `path`, specified as an array of keys or indices.\n function property(path) {\n path = toPath(path);\n return function(obj) {\n return deepGet(obj, path);\n };\n }\n\n // Internal function that returns an efficient (for current engines) version\n // of the passed-in callback, to be repeatedly applied in other Underscore\n // functions.\n function optimizeCb(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n }\n\n // An internal function to generate callbacks that can be applied to each\n // element in a collection, returning the desired result — either `_.identity`,\n // an arbitrary callback, a property matcher, or a property accessor.\n function baseIteratee(value, context, argCount) {\n if (value == null) return identity;\n if (isFunction$1(value)) return optimizeCb(value, context, argCount);\n if (isObject(value) && !isArray(value)) return matcher(value);\n return property(value);\n }\n\n // External wrapper for our callback generator. Users may customize\n // `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n // This abstraction hides the internal-only `argCount` argument.\n function iteratee(value, context) {\n return baseIteratee(value, context, Infinity);\n }\n _$1.iteratee = iteratee;\n\n // The function we call internally to generate a callback. It invokes\n // `_.iteratee` if overridden, otherwise `baseIteratee`.\n function cb(value, context, argCount) {\n if (_$1.iteratee !== iteratee) return _$1.iteratee(value, context);\n return baseIteratee(value, context, argCount);\n }\n\n // Returns the results of applying the `iteratee` to each element of `obj`.\n // In contrast to `_.map` it returns an object.\n function mapObject(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = keys(obj),\n length = _keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = _keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n }\n\n // Predicate-generating function. Often useful outside of Underscore.\n function noop(){}\n\n // Generates a function for a given object that returns a given property.\n function propertyOf(obj) {\n if (obj == null) return noop;\n return function(path) {\n return get(obj, path);\n };\n }\n\n // Run a function **n** times.\n function times(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n }\n\n // Return a random integer between `min` and `max` (inclusive).\n function random(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n }\n\n // A (possibly faster) way to get the current timestamp as an integer.\n var now = Date.now || function() {\n return new Date().getTime();\n };\n\n // Internal helper to generate functions for escaping and unescaping strings\n // to/from HTML interpolation.\n function createEscaper(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n }\n\n // Internal list of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n\n // Function for escaping strings to HTML interpolation.\n var _escape = createEscaper(escapeMap);\n\n // Internal list of HTML entities for unescaping.\n var unescapeMap = invert(escapeMap);\n\n // Function for unescaping strings from HTML interpolation.\n var _unescape = createEscaper(unescapeMap);\n\n // By default, Underscore uses ERB-style template delimiters. Change the\n // following template settings to use alternative delimiters.\n var templateSettings = _$1.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n };\n\n // When customizing `_.templateSettings`, if you don't want to define an\n // interpolation, evaluation or escaping regex, we need one that is\n // guaranteed not to match.\n var noMatch = /(.)^/;\n\n // Certain characters need to be escaped so that they can be put into a\n // string literal.\n var escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n var escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n function escapeChar(match) {\n return '\\\\' + escapes[match];\n }\n\n // In order to prevent third-party code injection through\n // `_.templateSettings.variable`, we test it against the following regular\n // expression. It is intentionally a bit more liberal than just matching valid\n // identifiers, but still prevents possible loopholes through defaults or\n // destructuring assignment.\n var bareIdentifier = /^\\s*(\\w|\\$)+\\s*$/;\n\n // JavaScript micro-templating, similar to John Resig's implementation.\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\n // and correctly escapes quotes within interpolated code.\n // NB: `oldSettings` only exists for backwards compatibility.\n function template(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = defaults({}, settings, _$1.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n var argument = settings.variable;\n if (argument) {\n // Insure against third-party code injection. (CVE-2021-23358)\n if (!bareIdentifier.test(argument)) throw new Error(\n 'variable is not a bare identifier: ' + argument\n );\n } else {\n // If a variable is not specified, place data values in local scope.\n source = 'with(obj||{}){\\n' + source + '}\\n';\n argument = 'obj';\n }\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(argument, '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _$1);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n }\n\n // Traverses the children of `obj` along `path`. If a child is a function, it\n // is invoked with its parent as context. Returns the value of the final\n // child, or `fallback` if any child is undefined.\n function result(obj, path, fallback) {\n path = toPath(path);\n var length = path.length;\n if (!length) {\n return isFunction$1(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = isFunction$1(prop) ? prop.call(obj) : prop;\n }\n return obj;\n }\n\n // Generate a unique integer id (unique within the entire client session).\n // Useful for temporary DOM ids.\n var idCounter = 0;\n function uniqueId(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n }\n\n // Start chaining a wrapped Underscore object.\n function chain(obj) {\n var instance = _$1(obj);\n instance._chain = true;\n return instance;\n }\n\n // Internal function to execute `sourceFunc` bound to `context` with optional\n // `args`. Determines whether to execute a function as a constructor or as a\n // normal function.\n function executeBound(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (isObject(result)) return result;\n return self;\n }\n\n // Partially apply a function by creating a version that has had some of its\n // arguments pre-filled, without changing its dynamic `this` context. `_` acts\n // as a placeholder by default, allowing any combination of arguments to be\n // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\n var partial = restArguments(function(func, boundArgs) {\n var placeholder = partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n });\n\n partial.placeholder = _$1;\n\n // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally).\n var bind = restArguments(function(func, context, args) {\n if (!isFunction$1(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n });\n\n // Internal helper for collection methods to determine whether a collection\n // should be iterated as an array or as an object.\n // Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n var isArrayLike = createSizePropertyCheck(getLength);\n\n // Internal implementation of a recursive `flatten` function.\n function flatten$1(input, depth, strict, output) {\n output = output || [];\n if (!depth && depth !== 0) {\n depth = Infinity;\n } else if (depth <= 0) {\n return output.concat(input);\n }\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (isArray(value) || isArguments$1(value))) {\n // Flatten current level of array or arguments object.\n if (depth > 1) {\n flatten$1(value, depth - 1, strict, output);\n idx = output.length;\n } else {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n }\n\n // Bind a number of an object's methods to that object. Remaining arguments\n // are the method names to be bound. Useful for ensuring that all callbacks\n // defined on an object belong to it.\n var bindAll = restArguments(function(obj, keys) {\n keys = flatten$1(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = bind(obj[key], obj);\n }\n return obj;\n });\n\n // Memoize an expensive function by storing its results.\n function memoize(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has$1(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n }\n\n // Delays a function for the given number of milliseconds, and then calls\n // it with the arguments supplied.\n var delay = restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n });\n\n // Defers a function, scheduling it to run after the current call stack has\n // cleared.\n var defer = partial(delay, _$1, 1);\n\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n function throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var _now = now();\n if (!previous && options.leading === false) previous = _now;\n var remaining = wait - (_now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = _now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n }\n\n // When a sequence of calls of the returned function ends, the argument\n // function is triggered. The end of a sequence is defined by the `wait`\n // parameter. If `immediate` is passed, the argument function will be\n // triggered at the beginning of the sequence instead of at the end.\n function debounce(func, wait, immediate) {\n var timeout, previous, args, result, context;\n\n var later = function() {\n var passed = now() - previous;\n if (wait > passed) {\n timeout = setTimeout(later, wait - passed);\n } else {\n timeout = null;\n if (!immediate) result = func.apply(context, args);\n // This check is needed because `func` can recursively invoke `debounced`.\n if (!timeout) args = context = null;\n }\n };\n\n var debounced = restArguments(function(_args) {\n context = this;\n args = _args;\n previous = now();\n if (!timeout) {\n timeout = setTimeout(later, wait);\n if (immediate) result = func.apply(context, args);\n }\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = args = context = null;\n };\n\n return debounced;\n }\n\n // Returns the first function passed as an argument to the second,\n // allowing you to adjust arguments, run code before and after, and\n // conditionally execute the original function.\n function wrap(func, wrapper) {\n return partial(wrapper, func);\n }\n\n // Returns a negated version of the passed-in predicate.\n function negate(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n }\n\n // Returns a function that is the composition of a list of functions, each\n // consuming the return value of the function that follows.\n function compose() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n }\n\n // Returns a function that will only be executed on and after the Nth call.\n function after(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n // Returns a function that will only be executed up to (but not including) the\n // Nth call.\n function before(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n }\n\n // Returns a function that will be executed at most one time, no matter how\n // often you call it. Useful for lazy initialization.\n var once = partial(before, 2);\n\n // Returns the first key on an object that passes a truth test.\n function findKey(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = keys(obj), key;\n for (var i = 0, length = _keys.length; i < length; i++) {\n key = _keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n }\n\n // Internal function to generate `_.findIndex` and `_.findLastIndex`.\n function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n }\n\n // Returns the first index on an array-like that passes a truth test.\n var findIndex = createPredicateIndexFinder(1);\n\n // Returns the last index on an array-like that passes a truth test.\n var findLastIndex = createPredicateIndexFinder(-1);\n\n // Use a comparator function to figure out the smallest index at which\n // an object should be inserted so as to maintain order. Uses binary search.\n function sortedIndex(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n }\n\n // Internal function to generate the `_.indexOf` and `_.lastIndexOf` functions.\n function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), isNaN$1);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n }\n\n // Return the position of the first occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n // If the array is large and already in sort order, pass `true`\n // for **isSorted** to use binary search.\n var indexOf = createIndexFinder(1, findIndex, sortedIndex);\n\n // Return the position of the last occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n var lastIndexOf = createIndexFinder(-1, findLastIndex);\n\n // Return the first value which passes a truth test.\n function find(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? findIndex : findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n }\n\n // Convenience version of a common use case of `_.find`: getting the first\n // object containing specific `key:value` pairs.\n function findWhere(obj, attrs) {\n return find(obj, matcher(attrs));\n }\n\n // The cornerstone for collection functions, an `each`\n // implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n function each(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var _keys = keys(obj);\n for (i = 0, length = _keys.length; i < length; i++) {\n iteratee(obj[_keys[i]], _keys[i], obj);\n }\n }\n return obj;\n }\n\n // Return the results of applying the iteratee to each element.\n function map(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n }\n\n // Internal helper to create a reducing function, iterating left or right.\n function createReduce(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[_keys ? _keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = _keys ? _keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n }\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n var reduce = createReduce(1);\n\n // The right-associative version of reduce, also known as `foldr`.\n var reduceRight = createReduce(-1);\n\n // Return all the elements that pass a truth test.\n function filter(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n }\n\n // Return all the elements for which a truth test fails.\n function reject(obj, predicate, context) {\n return filter(obj, negate(cb(predicate)), context);\n }\n\n // Determine whether all of the elements pass a truth test.\n function every(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n }\n\n // Determine if at least one element in the object passes a truth test.\n function some(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n }\n\n // Determine if the array or object contains a given item (using `===`).\n function contains(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return indexOf(obj, item, fromIndex) >= 0;\n }\n\n // Invoke a method (with arguments) on every item in a collection.\n var invoke = restArguments(function(obj, path, args) {\n var contextPath, func;\n if (isFunction$1(path)) {\n func = path;\n } else {\n path = toPath(path);\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n });\n\n // Convenience version of a common use case of `_.map`: fetching a property.\n function pluck(obj, key) {\n return map(obj, property(key));\n }\n\n // Convenience version of a common use case of `_.filter`: selecting only\n // objects containing specific `key:value` pairs.\n function where(obj, attrs) {\n return filter(obj, matcher(attrs));\n }\n\n // Return the maximum element (or element-based computation).\n function max(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || (computed === -Infinity && result === -Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n }\n\n // Return the minimum element (or element-based computation).\n function min(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || (typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null)) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || (computed === Infinity && result === Infinity)) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n }\n\n // Safely create a real, live array from anything iterable.\n var reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\n function toArray(obj) {\n if (!obj) return [];\n if (isArray(obj)) return slice.call(obj);\n if (isString(obj)) {\n // Keep surrogate pair characters together.\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return map(obj, identity);\n return values(obj);\n }\n\n // Sample **n** random values from a collection using the modern version of the\n // [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `_.map`.\n function sample(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n return obj[random(obj.length - 1)];\n }\n var sample = toArray(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n }\n\n // Shuffle a collection.\n function shuffle(obj) {\n return sample(obj, Infinity);\n }\n\n // Sort the object's values by a criterion produced by an iteratee.\n function sortBy(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return pluck(map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n }\n\n // An internal function used for aggregate \"group by\" operations.\n function group(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n }\n\n // Groups the object's values by a criterion. Pass either a string attribute\n // to group by, or a function that returns the criterion.\n var groupBy = group(function(result, value, key) {\n if (has$1(result, key)) result[key].push(value); else result[key] = [value];\n });\n\n // Indexes the object's values by a criterion, similar to `_.groupBy`, but for\n // when you know that your index values will be unique.\n var indexBy = group(function(result, value, key) {\n result[key] = value;\n });\n\n // Counts instances of an object that group by a certain criterion. Pass\n // either a string attribute to count by, or a function that returns the\n // criterion.\n var countBy = group(function(result, value, key) {\n if (has$1(result, key)) result[key]++; else result[key] = 1;\n });\n\n // Split a collection into two arrays: one whose elements all pass the given\n // truth test, and one whose elements all do not pass the truth test.\n var partition = group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n }, true);\n\n // Return the number of elements in a collection.\n function size(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : keys(obj).length;\n }\n\n // Internal `_.pick` helper function to determine whether `key` is an enumerable\n // property name of `obj`.\n function keyInObj(value, key, obj) {\n return key in obj;\n }\n\n // Return a copy of the object only containing the allowed properties.\n var pick = restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (isFunction$1(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten$1(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n });\n\n // Return a copy of the object without the disallowed properties.\n var omit = restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (isFunction$1(iteratee)) {\n iteratee = negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = map(flatten$1(keys, false, false), String);\n iteratee = function(value, key) {\n return !contains(keys, key);\n };\n }\n return pick(obj, iteratee, context);\n });\n\n // Returns everything but the last entry of the array. Especially useful on\n // the arguments object. Passing **n** will return all the values in\n // the array, excluding the last N.\n function initial(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n }\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. The **guard** check allows it to work with `_.map`.\n function first(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[0];\n return initial(array, array.length - n);\n }\n\n // Returns everything but the first entry of the `array`. Especially useful on\n // the `arguments` object. Passing an **n** will return the rest N values in the\n // `array`.\n function rest(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n }\n\n // Get the last element of an array. Passing **n** will return the last N\n // values in the array.\n function last(array, n, guard) {\n if (array == null || array.length < 1) return n == null || guard ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return rest(array, Math.max(0, array.length - n));\n }\n\n // Trim out all falsy values from an array.\n function compact(array) {\n return filter(array, Boolean);\n }\n\n // Flatten out an array, either recursively (by default), or up to `depth`.\n // Passing `true` or `false` as `depth` means `1` or `Infinity`, respectively.\n function flatten(array, depth) {\n return flatten$1(array, depth, false);\n }\n\n // Take the difference between one array and a number of other arrays.\n // Only the elements present in just the first array will remain.\n var difference = restArguments(function(array, rest) {\n rest = flatten$1(rest, true, true);\n return filter(array, function(value){\n return !contains(rest, value);\n });\n });\n\n // Return a version of the array that does not contain the specified value(s).\n var without = restArguments(function(array, otherArrays) {\n return difference(array, otherArrays);\n });\n\n // Produce a duplicate-free version of the array. If the array has already\n // been sorted, you have the option of using a faster algorithm.\n // The faster algorithm will not work with an iteratee if the iteratee\n // is not a one-to-one function, so providing an iteratee will disable\n // the faster algorithm.\n function uniq(array, isSorted, iteratee, context) {\n if (!isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n }\n\n // Produce an array that contains the union: each distinct element from all of\n // the passed-in arrays.\n var union = restArguments(function(arrays) {\n return uniq(flatten$1(arrays, true, true));\n });\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n function intersection(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n }\n\n // Complement of zip. Unzip accepts an array of arrays and groups\n // each array's elements on shared indices.\n function unzip(array) {\n var length = (array && max(array, getLength).length) || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = pluck(array, index);\n }\n return result;\n }\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n var zip = restArguments(unzip);\n\n // Converts lists into objects. Pass either a single array of `[key, value]`\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\n // the corresponding values. Passing by pairs is the reverse of `_.pairs`.\n function object(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n }\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](https://docs.python.org/library/functions.html#range).\n function range(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n }\n\n // Chunk a single array into multiple arrays, each containing `count` or fewer\n // items.\n function chunk(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n }\n\n // Helper function to continue chaining intermediate results.\n function chainResult(instance, obj) {\n return instance._chain ? _$1(obj).chain() : obj;\n }\n\n // Add your own custom functions to the Underscore object.\n function mixin(obj) {\n each(functions(obj), function(name) {\n var func = _$1[name] = obj[name];\n _$1.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_$1, args));\n };\n });\n return _$1;\n }\n\n // Add all mutator `Array` functions to the wrapper.\n each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _$1.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) {\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) {\n delete obj[0];\n }\n }\n return chainResult(this, obj);\n };\n });\n\n // Add all accessor `Array` functions to the wrapper.\n each(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _$1.prototype[name] = function() {\n var obj = this._wrapped;\n if (obj != null) obj = method.apply(obj, arguments);\n return chainResult(this, obj);\n };\n });\n\n // Named Exports\n\n var allExports = {\n __proto__: null,\n VERSION: VERSION,\n restArguments: restArguments,\n isObject: isObject,\n isNull: isNull,\n isUndefined: isUndefined,\n isBoolean: isBoolean,\n isElement: isElement,\n isString: isString,\n isNumber: isNumber,\n isDate: isDate,\n isRegExp: isRegExp,\n isError: isError,\n isSymbol: isSymbol,\n isArrayBuffer: isArrayBuffer,\n isDataView: isDataView$1,\n isArray: isArray,\n isFunction: isFunction$1,\n isArguments: isArguments$1,\n isFinite: isFinite$1,\n isNaN: isNaN$1,\n isTypedArray: isTypedArray$1,\n isEmpty: isEmpty,\n isMatch: isMatch,\n isEqual: isEqual,\n isMap: isMap,\n isWeakMap: isWeakMap,\n isSet: isSet,\n isWeakSet: isWeakSet,\n keys: keys,\n allKeys: allKeys,\n values: values,\n pairs: pairs,\n invert: invert,\n functions: functions,\n methods: functions,\n extend: extend,\n extendOwn: extendOwn,\n assign: extendOwn,\n defaults: defaults,\n create: create,\n clone: clone,\n tap: tap,\n get: get,\n has: has,\n mapObject: mapObject,\n identity: identity,\n constant: constant,\n noop: noop,\n toPath: toPath$1,\n property: property,\n propertyOf: propertyOf,\n matcher: matcher,\n matches: matcher,\n times: times,\n random: random,\n now: now,\n escape: _escape,\n unescape: _unescape,\n templateSettings: templateSettings,\n template: template,\n result: result,\n uniqueId: uniqueId,\n chain: chain,\n iteratee: iteratee,\n partial: partial,\n bind: bind,\n bindAll: bindAll,\n memoize: memoize,\n delay: delay,\n defer: defer,\n throttle: throttle,\n debounce: debounce,\n wrap: wrap,\n negate: negate,\n compose: compose,\n after: after,\n before: before,\n once: once,\n findKey: findKey,\n findIndex: findIndex,\n findLastIndex: findLastIndex,\n sortedIndex: sortedIndex,\n indexOf: indexOf,\n lastIndexOf: lastIndexOf,\n find: find,\n detect: find,\n findWhere: findWhere,\n each: each,\n forEach: each,\n map: map,\n collect: map,\n reduce: reduce,\n foldl: reduce,\n inject: reduce,\n reduceRight: reduceRight,\n foldr: reduceRight,\n filter: filter,\n select: filter,\n reject: reject,\n every: every,\n all: every,\n some: some,\n any: some,\n contains: contains,\n includes: contains,\n include: contains,\n invoke: invoke,\n pluck: pluck,\n where: where,\n max: max,\n min: min,\n shuffle: shuffle,\n sample: sample,\n sortBy: sortBy,\n groupBy: groupBy,\n indexBy: indexBy,\n countBy: countBy,\n partition: partition,\n toArray: toArray,\n size: size,\n pick: pick,\n omit: omit,\n first: first,\n head: first,\n take: first,\n initial: initial,\n last: last,\n rest: rest,\n tail: rest,\n drop: rest,\n compact: compact,\n flatten: flatten,\n without: without,\n uniq: uniq,\n unique: uniq,\n union: union,\n intersection: intersection,\n difference: difference,\n unzip: unzip,\n transpose: unzip,\n zip: zip,\n object: object,\n range: range,\n chunk: chunk,\n mixin: mixin,\n 'default': _$1\n };\n\n // Default Export\n\n // Add all of the Underscore functions to the wrapper object.\n var _ = mixin(allExports);\n // Legacy Node.js API.\n _._ = _;\n\n return _;\n\n})));\n//# sourceMappingURL=underscore-umd.js.map\n","const _ = require('underscore');\n\n// ref: OverDrive.Thunder.Models.DataModels.GeneratedCollectionDetails\nmodule.exports = class GeneratedCollectionDetails {\n constructor() {\n this.mediaType = '';\n this.language = '';\n this.publisherEntityId = null; // int\n this.maturityLevels = []; // string\n this.subjects = []; // string\n this.bisacCodes = [];\n\n this.sortBy = '';\n this.maxItems = undefined; // int\n\n Object.assign(this, ...arguments);\n }\n\n // Translates GeneratedCollectionDetails model to parameters that align with the MediaParameters model for executing a \"search\"\n serializeForSearch() {\n let model = _.extend({}, this);\n\n // language is an array in MediaParameters\n model.language = _(_.flatten([model.language])).reject((val) => _.isEmpty(val));\n\n // maturityLevels is called maturityLevel\n model.maturityLevel = _(_.flatten([model.maturityLevels])).reject((val) => _.isEmpty(val));\n delete model.maturityLevels;\n\n // subjects is called subject\n model.subject = _(_.flatten([model.subjects])).reject((val) => _.isEmpty(val));\n delete model.subjects;\n\n if (window.featureManager.isEnabled('bisac-collection-filtering')) {\n model.bisacCode = _(_.flatten([model.bisacCodes])).reject((val) => _.isEmpty(val));\n }\n\n if (model.mediaTypes) {\n if (window.featureManager.isEnabled('media-types-collection-param')) {\n delete model.mediaType;\n } else{\n delete model.mediaTypes;\n }\n }\n\n if (model.mediaTypes) {\n model.mediaTypes = model.mediaTypes.join(',');\n } else if (window.featureManager.isEnabled('filter-out-ntc')) {\n model.mediaTypes = window.OverDrive.whitelistedMediaTypes;\n }\n\n delete model.bisacCodes; // we need to remove this property regardless because the correct query param is `bisacCode`. The mismatch between the thunder query params and the property names in the generated collection definitions is...fun.\n\n return model;\n }\n};\n","export default class ColorUtility {\n\n // see _vars.scss for the corresponding css color vars\n //\n static get highContrastBlue(){\n return '#0000FF';\n }\n\n static get highContrastBlueHover(){\n return '#0000F5';\n }\n\n static get highContrastYellow(){\n return '#FFFF00';\n }\n\n static get highContrastYellowHover() {\n return '#F5E600';\n }\n\n// credit: https://stackoverflow.com/a/39077686\n // This will accept three character shorthand hex colors as well as the standard six character format.\n static hexToRGB(hexColor){\n return hexColor.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i\n ,(m, r, g, b) => '#' + r + r + g + g + b + b)\n .substring(1).match(/.{2}/g)\n .map(x => parseInt(x, 16));\n }\n\n static rgbToHex(rgb) {\n let nToHex = function (n) {\n let hex = parseInt(n, 10).toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n };\n return '#' + nToHex(rgb[0]) + nToHex(rgb[1]) + nToHex(rgb[2]);\n }\n\n static getTextColorFromRGB(backgroundRGB){\n // Standard contrast calculation based on the Y component of the YIQ color space. Libby uses the same default Luma threshold.\n // https://github.com/bksh/dewey-js/blob/ebb7189241c5eade8000776d97cd5451bf643e3d/src/app/base/cover-guru.js#L10\n // https://en.wikipedia.org/wiki/YIQ#From_RGB_to_YIQ\n const LUMA_THRESHOLD_YIQ = 190;\n return (backgroundRGB[0] * 299 + backgroundRGB[1] * 587 + backgroundRGB[2] * 114) / 1000 > LUMA_THRESHOLD_YIQ ? '#000000' : '#ffffff';\n }\n\n static getTextColorFromHex(backgroundHex){\n let rgb = ColorUtility.hexToRGB(backgroundHex);\n return ColorUtility.getTextColorFromRGB(rgb);\n }\n\n static shadeColorHex(hexColor, percent){\n let rgb = ColorUtility.hexToRGB(hexColor);\n let shadedRGB = ColorUtility.shadeColor(rgb, percent);\n return ColorUtility.rgbToHex(shadedRGB);\n }\n\n static shadeColor(rgb, percent){\n percent = Math.abs(percent);\n let hsl = ColorUtility.rgbToHsl(rgb[0], rgb[1], rgb[2]);\n let l = hsl[2];\n if (l >= 0.5){\n percent *= -1;\n }\n l = l + percent;\n hsl[2] = l;\n return ColorUtility.hslToRgb(hsl[0], hsl[1], hsl[2]);\n }\n\n /**\n * Credit: taken from https://stackoverflow.com/a/9493060\n *\n * Converts an HSL color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n * Assumes h, s, and l are contained in the set [0, 1] and\n * returns r, g, and b in the set [0, 255].\n *\n * @param {number} h The hue\n * @param {number} s The saturation\n * @param {number} l The lightness\n * @return {Array} The RGB representation\n */\n static hslToRgb(h, s, l){\n var r, g, b;\n\n if (s === 0){\n r = g = b = l; // achromatic\n } else {\n let hue2rgb = function (p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n };\n\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n }\n\n /**\n * Credit: taken from https://stackoverflow.com/a/9493060\n *\n * Converts an RGB color value to HSL. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n * Assumes r, g, and b are contained in the set [0, 255] and\n * returns h, s, and l in the set [0, 1].\n *\n * @param {number} r The red color value\n * @param {number} g The green color value\n * @param {number} b The blue color value\n * @return {Array} The HSL representation\n */\n static rgbToHsl(r, g, b){\n r = r / 255;\n g = g / 255;\n b = b / 255;\n let max = Math.max(r, g, b);\n let min = Math.min(r, g, b);\n let h, s, l = (max + min) / 2;\n\n if (max === min){\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max){\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n\n return [h, s, l];\n }\n\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getOptimizedCovers = void 0;\nvar _ = __importStar(require(\"underscore\"));\nfunction getOptimizedCovers(covers, desiredSize) {\n // coversBySize is now an array of covers, from smallest to largest\n var coversBySize = _.sortBy(covers, 'width');\n // Start with the biggest cover\n // Copy object with Object.assign() so we dont damage reference\n var optimizedCover = Object.assign({}, _.last(coversBySize));\n if (optimizedCover && optimizedCover.href) {\n var legacyToOptimizedImageHostsMap = {\n 'https://img1.od-cdn.com/': 'https://ic.od-cdn.com/resize',\n 'https://images.overdrivechina.cn/': 'https://images.overdrivechina.cn/resize'\n };\n var hostMapKey = _.find(Object.keys(legacyToOptimizedImageHostsMap), function (legacy) { return optimizedCover.href.startsWith(legacy); });\n if (hostMapKey) {\n // look up the corresponding optimized root, e.g. https://img1.od-cdn.com/ -> https://ic.od-cdn.com/resize\n var optimizedImageHost = legacyToOptimizedImageHostsMap[hostMapKey];\n var optimizations = 'type=auto'; // format = auto -> use webp if the device supports it\n var path = '';\n if (typeof document === 'undefined') {\n // node.js usage should be fine with the URL api\n var url = new URL(optimizedCover.href);\n path = url.pathname;\n }\n else {\n // hack to get url pathname since IE doesn't support the URL api. I didn't want to add a polyfill\n var a = document.createElement('a');\n a.href = optimizedCover.href;\n path = a.pathname;\n if (!path.startsWith('/')) { // browsers are inconsistent about whether the pathname includes a leading slash, but the cachefly api requires exactly one on the url param\n path = \"/\".concat(path);\n }\n }\n var encodedSrcUrl = encodeURIComponent(path);\n var coverHrefWithoutSize = \"\".concat(optimizedImageHost, \"?\").concat(optimizations, \"&url=\").concat(encodedSrcUrl, \"&stripmeta=true\");\n optimizedCover.href = \"\".concat(coverHrefWithoutSize, \"&width=\").concat(desiredSize);\n optimizedCover.srcset = \"\".concat(coverHrefWithoutSize, \"&width=\").concat(Math.floor(desiredSize * 2), \" 2x, \") +\n \"\".concat(coverHrefWithoutSize, \"&width=\").concat(Math.floor(desiredSize * 1.5), \" 1.5x, \") +\n \"\".concat(coverHrefWithoutSize, \"&width=\").concat(desiredSize, \" 1x\");\n return optimizedCover;\n }\n }\n return _.find(coversBySize, function (cover) { return cover.width >= desiredSize; }) ||\n _.last(coversBySize); // finds the first cover that is big enough\n}\nexports.getOptimizedCovers = getOptimizedCovers;\n\n//# sourceMappingURL=getOptimizedCover-ts.js.map\n\n//# sourceMappingURL=getOptimizedCover-ts.js.map\n","const _ = require('underscore');\n\n/**\n * Defines all the available input parameters for the media endpoint\n * @class MediaParameters\n * ref: https://thunder.api.test.overdrive.com/docs/ui/index#!/Media/V2Media_IndexMedia\n */\nmodule.exports = class MediaParameters {\n\n constructor() {\n this.query = '';\n this.mediaType = '';\n this.mediaTypes = '';\n this.title = '';\n this.series = '';\n this.publisherId = '';\n this.publisherEntityId = null;\n this.imprintId = '';\n this.identifier = '';\n this.creator = '';\n this.creatorId = null;\n this.addedDate = '';\n this.availableFirst = null;\n this.showOnlyAvailable = false;\n this.showOnlyPrerelease = false;\n this.showOnlyLuckyDayAvailable = false;\n this.hasAudioSynchronizedText = null;\n this.collectionId = 0;\n\n // All of the following arrays are string arrays\n this.format = [];\n this.subject = [];\n this.bisacCode = [];\n this.maturityLevel = [];\n this.language = [];\n this.atosLevel = [];\n this.lexileScore = [];\n this.interestLevel = [];\n this.gradeLevel = [];\n this.includedFacets = [];\n\n this.sortBy = 'relevance';\n this.show = 'owned';\n this.page = 1;\n this.perPage = 24;\n this.includeFacets = true;\n this.includeNoFormatTitles = false;\n this.filterCpcTitles = false;\n this.maxItems = 0;\n\n Object.assign(this, ...arguments);\n }\n\n applyRoomFiltersAndUserPrefs(roomFilters, userPreferences) {\n if (roomFilters) {\n // Note that the names don't match up so we can't just extend\n if (roomFilters.maturityLevels) {\n this.maturityLevel = roomFilters.maturityLevels;\n }\n if (roomFilters.subjects) {\n this.subject = roomFilters.subjects;\n }\n if (roomFilters.language) {\n this.language = roomFilters.language;\n }\n if (roomFilters.mediaType) {\n this.mediaType = roomFilters.mediaType;\n this.mediaTypes = roomFilters.mediaType;\n }\n }\n\n if (userPreferences) {\n // There may be more user prefs to apply besides audience-settings but this\n // was the immediate need. We can add more as they come up.\n if (userPreferences['audience-setting'] && this.maturityLevel.length === 0) {\n let audience = userPreferences['audience-setting'];\n let maturityLevels = [];\n _.each(_.keys(audience), function(key) {\n if (audience[key] && key !== 'all') {\n maturityLevels.push(key);\n }\n });\n if (maturityLevels.length > 0) {\n this.maturityLevel = maturityLevels;\n }\n }\n }\n }\n\n serialize() {\n let response = _.extend({}, this);\n\n // Remove all properties that do not have a value set\n Object.keys(response).forEach((key) => {\n !this._hasValue(response[key]) && delete response[key];\n });\n\n return response;\n }\n\n _hasValue(value) {\n return !((_(value).isObject() && _(value).isEmpty()) || !value) || value === false;\n }\n};\n","const { html, url, routes } = window;\n\nexport default () => `\n ${\n window.featureManager.isEnabled('OzoneAuthentication')\n ? `
\n ${html(\n 'getCard.noLibraryCard'\n )}\n ${html(\n 'getCard.takesAFewSec'\n )} \n
\n ${html('getCard.whyDoYouNeed')}\n
\n ${html('getCard.signUp')}\n ${html('getCard.alreadyHaveACard')}`\n : `
\n ${html(\n 'getCard.needCard'\n )}\n ${html(\n 'getCard.youNeedACard'\n )}
${html('getCard.getByMobile')}
\n
\n ${html('getCard.getCard')}\n ${html(\n 'getCard.noIHaveCard'\n )}\n
\n ${html('getCard.getCard')}\n ${html(\n 'getCard.noIHaveCard'\n )}`\n }\n`;\n","import { Modal } from '../common/modal';\nimport GetACardTemplate from './GetACardModal.html';\n\nexport default class GetACardModal extends Modal {\n constructor() {\n var classes = ['GetACardModal'];\n if (window.featureManager.isEnabled('OzoneAuthentication')) {\n classes.push('extraPadding');\n }\n\n let content = GetACardTemplate();\n let modalContents = {\n classes: classes,\n title: window.html('getCard.needCard'),\n hiddenTitle: true,\n content,\n };\n\n if (!window.featureManager.isEnabled('gac-cookie-on-dismiss')) {\n Cookies.set('gacPromoDismissed', 1, {\n httpOnly: false,\n sameSite: 'lax',\n secure: true,\n });\n }\n\n super(modalContents);\n\n this.$el.find('.button').on('click', () => {\n this._setCookie();\n });\n }\n\n close() {\n this._setCookie();\n super.close();\n }\n\n _setCookie() {\n if (window.featureManager.isEnabled('gac-cookie-on-dismiss')) {\n Cookies.set('gacPromoDismissed', 1, {\n httpOnly: false,\n sameSite: 'lax',\n secure: true,\n });\n }\n }\n}\n","export default ({campaign, roomClass}) => `\n
\n
\n
\n
\n

\n ${campaign.name.toUpperCase()}\n


\n
\n
\n
\n
    \n
  • \n
\n
\n
\n ${campaign.description}\n
\n
\n ${campaign.type === 'BLR' ? `\n
\n ${campaign.items.length > 1 ? `\n \n  ${window.html('hero.alsoAvailableAudiobook')} \n \n ` : ''}\n
\n ` : ''}\n
\n
\n
\n`;\n","import Title from '../../media/models/Title';\nimport TitleCard from '../../media/TitleCard';\nimport TitleActions from '../../../title-actions/TitleActions';\nimport CampaignTemplate from '../templates/Campaign.html';\nimport svgLoader from '../../../util/svgLoader';\n\nexport default class Campaign extends Backbone.View {\n\n get roomClass() {\n return this.currentRoom ? `is-${this.currentRoom.themeName}` : '';\n }\n\n constructor({ bus, currentRoom, campaign }) {\n super(...arguments);\n\n this.bus = bus;\n this.currentRoom = currentRoom;\n this.campaign = campaign;\n\n this.model = this.model || new Title();\n this.titleActions = new TitleActions({ bus: this.bus });\n this.titleCard = new TitleCard({ model: this.model });\n\n this.listenTo(this.model, 'title:action', this._handleTitleAction);\n }\n\n render() {\n let $campaign = $(CampaignTemplate(this));\n\n this.model.setContext({\n campaign: this.campaign\n });\n\n $campaign.find('.Campaign-fullCoverContainer').append(this.titleCard.render().el);\n\n this.$el.empty().append($campaign);\n\n svgLoader();\n }\n\n _handleTitleAction({action, model}) {\n this.titleActions.perform(action, model);\n }\n}\n","import MediaInterface from '../media/MediaInterface';\n\nimport GeneratedCollectionDetails from '../../../../business-objects/GeneratedCollectionDetails';\n\n// ref: Thunder.Models.ResponseModels.CollectionDefinition\nexport default class CollectionDefinition extends Backbone.Model {\n\n get idAttribute() { return 'id'; }\n\n get collectionOptions() {\n let options = {\n includeFacets: false,\n perPage: this.pageSize || 6,\n shuffle: this.shuffle || this.isLuckyDay\n };\n if (this.get('sortByAvailability') || this.get('availabilityOption') === 'available-first') {\n options.availableFirst = true;\n }\n if (this.get('showOnlyAvailable') || this.get('availabilityOption') === 'available-only') {\n options.showOnlyAvailable = true;\n }\n if (this.get('showOnlyPrerelease')) {\n options.showOnlyPrerelease = true;\n }\n if (this.useListOrder){\n options.sortBy = 'listorder';\n }\n\n return options;\n }\n\n defaults() {\n return {\n id : '0',\n name : '',\n description : '',\n availabilityOption : '',\n showOnlyAvailable : false,\n showOnlyPrerelease : false,\n sortByAvailability : false,\n curatedCollectionDetails : null,\n generatedCollectionDetails : null,\n lastModified : null,\n order : 0,\n\n // Computed property\n totalItems : 0\n };\n }\n\n get isLuckyDay(){\n return this.get('availabilityOption') === 'available-luckyday';\n }\n\n get isGenerated() {\n return !_(this.get('generatedCollectionDetails')).isEmpty();\n }\n\n get isCurated() {\n return !_(this.get('curatedCollectionDetails')).isEmpty();\n }\n\n get useListOrder(){\n return this.isCurated && this.get('curatedCollectionDetails').isOrdered;\n }\n\n /**\n * @prop {TitleCollection} collection\n * @memberof CollectionDefinition\n */\n constructor() {\n super(...arguments);\n\n this._mediaInterface = new MediaInterface();\n\n this.titleCollection = this._mediaInterface.items;\n\n this.listenTo(this.titleCollection, 'all', () => {\n this.set('totalItems', this.titleCollection.length);\n });\n }\n\n fetchCollectionTitles({ patronSettings, room}) {\n // Parse the current room's maturityLevels if there is a room, and a maturityLevels filter has been set\n let roomHasMaturityLevelFilter = !_.isEmpty(room && room.filters && room.filters.maturityLevels);\n\n let patronMaturityLevelPreferences = this._parsePatronAudienceSettings(patronSettings);\n\n if (this.isGenerated) {\n let genColDetails = this.get('generatedCollectionDetails');\n if (this.attributes.sortBy) {\n genColDetails.sortBy = this.attributes.sortBy;\n }\n if (!!this.get('showOnlyLuckyDayAvailable')){\n genColDetails.showOnlyLuckyDayAvailable = true;\n }\n let details = new GeneratedCollectionDetails(genColDetails);\n let params = details.serializeForSearch();\n\n if (!!patronSettings.showOnlyAvailable) {\n params.showOnlyAvailable = true;\n }\n\n // If we are in a room with maturity filters applied, the filters will be apart of the collection definition and we can simply query for the collection\n // User preferences should NOT override a room's maturity filter\n if (roomHasMaturityLevelFilter) {\n return this._mediaInterface.fetchCollectionByParameters(params, this.collectionOptions);\n }\n // Otherwise determine if the User's maturity filter settings cover the collection's maturityLevel settings\n else {\n let generatedCollectionOptions = Object.assign({}, this.collectionOptions);\n\n if (!_(patronMaturityLevelPreferences).isEmpty() && _(params.maturityLevel).isEmpty()) {\n Object.assign(generatedCollectionOptions, { maturityLevel: patronMaturityLevelPreferences });\n }\n\n // Fake an empty response if all the auto generated collection's filters are not covered by the user's maturity level settings\n return this._patronFiltersPermitCollection(params.maturityLevel, patronMaturityLevelPreferences)\n ? this._mediaInterface.fetchCollectionByParameters(params, generatedCollectionOptions)\n : this._mediaInterface.fetchEmptyResponse();\n }\n }\n // else if \"isCurated\"\n else {\n let curatedCollectionOptions = Object.assign({}, this.collectionOptions);\n\n if (!!patronSettings.showOnlyAvailable) {\n curatedCollectionOptions.showOnlyAvailable = true;\n }\n\n if (window.featureManager.isEnabled('sort-curated-list-carousels') && this.attributes.sortBy) {\n curatedCollectionOptions.sortBy = this.attributes.sortBy;\n }\n\n // If we are NOT in a room, apply a user's maturity settings if present to the collection request\n // The expectation is that if none of the content satisfies the user's filter its acceptable that no results are returned\n if (_(room).isEmpty()) {\n Object.assign(curatedCollectionOptions, { maturityLevel: patronMaturityLevelPreferences });\n }\n\n return this._mediaInterface.fetchCollectionById(this.id, curatedCollectionOptions);\n }\n }\n\n // Convert the patron audience settings model into an array of filter terms that MediaInterface understands, ex:\n // \"audience-setting\": {\n // \"all\" : false,\n // \"juvenile\" : false,\n // \"youngadult\" : true,\n // \"generalcontent\" : true,\n // \"adultonly\" : true\n // }\n // to: [\"youngadult\", \"generalcontent\", \"adultonly\"]\n /** @returns {string[]} */\n _parsePatronAudienceSettings(patronSettings) {\n let patronAudienceSetting = patronSettings && patronSettings['audience-setting'] || {};\n\n if (_(patronAudienceSetting).isEmpty() || patronAudienceSetting.all) {\n return [];\n }\n\n let audienceFilters = [];\n _(patronAudienceSetting).each((isApplied, key) => {\n if (isApplied && key !== \"all\") {\n audienceFilters.push(key);\n }\n });\n\n return audienceFilters;\n }\n\n _patronFiltersPermitCollection(collectionMaturityFilters = [], userMaturityFilters = []) {\n if (userMaturityFilters.length === 0) {\n return true;\n }\n\n const collectionLower = collectionMaturityFilters.map((filter) => filter.toLowerCase());\n const userLower = userMaturityFilters.map((filter) => filter.toLowerCase());\n\n return _(collectionLower).difference(userLower).length === 0;\n }\n}\n","import CollectionHighlightView from '../collection_highlight/views/CollectionHighlight';\nimport SlantedCollectionHighlight from '../collection_highlight_slanted/SlantedCollectionHightlight';\nconst {featureManager} = window;\n\nexport default class CollectionHighlightViewFactory\n{\n static Build(collectionDefinition, viewOptions, forceSlanted = false){\n if ((featureManager.isEnabled('LuckyDay') && collectionDefinition.isLuckyDay) || forceSlanted){\n return new SlantedCollectionHighlight(viewOptions);\n }\n else {\n return new CollectionHighlightView(viewOptions);\n }\n }\n}\n","import CollectionDefinition from './CollectionDefinition';\n\nexport default class CollectionManager extends Backbone.Collection {\n get model() { return CollectionDefinition; }\n}\n","import CollectionDefinition from './CollectionDefinition';\n\nexport default class PageManager extends Backbone.Model {\n\n get idAttribute() { return 'pageId'; }\n\n get isLoaded() {\n return !_.isEmpty(this.attributes);\n }\n\n // page == room, page has views, one of which is the home-page collections collection\n // ref: /v2/libraries/qa/pages\n fetchRoomById(roomId = 'home') {\n this.url = window.url(window.routes.rest.rooms.get, { roomId });\n\n return new Promise((resolve, reject) => {\n this.fetch({\n timeout: 10000,\n success: (model, response, options) => resolve(response),\n error: (model, response, options) => reject(response)\n });\n });\n }\n\n fetchCampaignById(campaignId) {\n return new Promise((resolve, reject) => {\n $.ajax({\n url: window.url(window.routes.rest.campaigns.get, { campaignId }),\n dataType: 'json',\n timeout: 10000\n })\n .done((response) => resolve(response))\n .fail((jqHXR) => reject(jqHXR));\n });\n }\n\n fetchFirstDisplayableCampaign(roomId = 'home') {\n return new Promise((resolve, reject) => {\n $.ajax({\n url: window.url(window.routes.rest.campaigns.getFirstDisplayable, { roomId }),\n dataType: 'json',\n timeout: 10000\n })\n .done((response) => resolve(response))\n .fail((jqHXR) => reject(jqHXR));\n });\n }\n\n fetchCollectionById(collectionId) {\n return new Promise((resolve, reject) => {\n $.ajax({\n url: window.url(window.routes.rest.collections.getById, { id: collectionId }),\n dataType: 'json',\n timeout: 10000\n })\n .done((response) => resolve(new CollectionDefinition(response)))\n .fail((jqHXR, textStatus, errorThrown) => reject(jqHXR));\n });\n }\n\n getView(viewName) {\n if (!this.isLoaded) { return null; }\n\n return (viewName || '').toLowerCase() === 'home'\n ? _(this.attributes.views).findWhere({ isDefault: true })\n : _(this.attributes.views).findWhere({ name: viewName });\n }\n\n getCampaigns() {\n return this.isLoaded && this.attributes.campaigns;\n }\n}\n","const { Logger, Waypoint, html } = window;\nconst { isAuthenticated, hasLinkedCards } = window.OverDrive;\n\nimport '../../util/Promise';\nimport ErrorTemplate from '../../components/common/templates/Error.html';\n\nimport ProcessForwardedAction from '../../util/title-actions/processForwardedAction';\nimport HashManager from '../../components/common/HashManager';\nimport TitleCollection from '../media/models/TitleCollection';\n\nimport PatronTitleStatus from '../../models/PatronTitleStatus';\n\nimport PageManager from './PageManager';\nimport CollectionManager from './CollectionManager';\nimport CollectionHighlightFactory from './CollectionHighlightFactory';\nimport Campaign from '../campaign/views/Campaign';\n\nimport LibbyToutTemplate from '../libby_tout/LibbyTout.html';\nimport QueryString from 'querystring';\n\nexport default class PageView extends Backbone.View {\n // LHTNG-2082: Visual palceholder for Hero section\n generateHeroPlaceholderEl() {\n return $('
');\n }\n\n constructor({ viewId, room, bus, featureManager, patronSettings }) {\n super(...arguments);\n\n this.viewId = viewId;\n this.room = room;\n this.bus = bus;\n this.featureManager = featureManager;\n this.appPromoManager = window.appPromoManager;\n this.patronSettings = patronSettings;\n this.pageSize = window.OverDrive.isTolinoDevice ? 2 : 10;\n this.lazyWaypointIndex = 2;\n\n this.pageManager = new PageManager();\n this.collectionManager = new CollectionManager();\n this.views = [];\n\n this.collectionErrors = [];\n\n // Provide a way to simulate collections and campaigns failing to load. This helps with testing dynamic\n // collection loading logic.\n this.collectionIndexesToFail = null;\n this.failCampaign = false;\n\n let rawParams =\n window.location.search[0] === '?'\n ? window.location.search.substr(1)\n : window.location.search;\n let queryParams = QueryString.parse(rawParams);\n\n let collectionsToFail = queryParams.collectionsToFail;\n if (collectionsToFail && collectionsToFail.length > 0) {\n this.collectionIndexesToFail = collectionsToFail\n .split(',')\n .map((val) => parseInt(val, 10));\n }\n\n this.failCampaign = Boolean(queryParams.failCampaign);\n\n let forcedSlantedGridCollections =\n queryParams.forcedSlantedGridCollections;\n if (\n forcedSlantedGridCollections &&\n forcedSlantedGridCollections.length > 0\n ) {\n this.forcedSlantedGridCollectionIndexes =\n forcedSlantedGridCollections\n .split(',')\n .map((v) => parseInt(v, 10));\n }\n\n this.forceAllSlantedGridCollections = Boolean(\n queryParams.forceAllSlantedGridCollections\n );\n\n let slantedGridTitleCountOverride =\n queryParams.slantedGridTitleCountOverride;\n if (slantedGridTitleCountOverride) {\n this.slantedGridTitleCountOverride = slantedGridTitleCountOverride;\n }\n\n this.update();\n }\n\n update() {\n this.$el.empty();\n\n this.views.forEach((view) => view.remove());\n this.views = [];\n\n this.pageManager\n .fetchRoomById((this.room && this.room.id) || 'home')\n .then(() => {\n this.views = this.initViews();\n this.unrenderedViews = this.views.slice();\n this._loadPage();\n });\n }\n\n _loadPage() {\n let isFirstPage = this.unrenderedViews.length === this.views.length;\n\n this._renderPage(\n this.pageSize,\n isFirstPage ? this.lazyWaypointIndex : 0\n );\n\n if (isFirstPage && !window.OverDrive.isTolinoDevice) {\n this._renderLibbyTout();\n }\n }\n\n _renderPage(rowCount, wayPointIndex = 0) {\n if (wayPointIndex && wayPointIndex < rowCount - 1) {\n // Paint the whole set of collections right away so scrolling speed is consistent\n // before and after you trigger the waypoint for lazy-loading.\n this._paintCollections(this.unrenderedViews.slice(0, rowCount));\n\n this._fetchRows(wayPointIndex + 1).then((collections) => {\n this._updatePatronTitleStatus(collections);\n\n // Should this really be here? We can just do it right away if we want at the cost of _potentially_ one\n // extra patron title status call. Meh.\n this._performForwardedAction();\n\n if (this.views[wayPointIndex]) {\n let $el = this.views[wayPointIndex].$el;\n\n let waypoint = $('
');\n $el.after(waypoint);\n\n let breakpoint = new Waypoint.Inview({\n element: waypoint,\n enter: () => {\n breakpoint.destroy();\n\n if (typeof newrelic !== 'undefined') {\n newrelic.addPageAction('lazyLoadWaypointHit', {\n page: 'homepage',\n });\n }\n\n this._fetchRows(\n rowCount - (wayPointIndex + 1)\n ).then((_collections) => {\n this._updatePatronTitleStatus(_collections);\n this._pageLoadComplete();\n });\n },\n });\n }\n });\n } else {\n this._fetchRows(rowCount).then((collections) => {\n this._updatePatronTitleStatus(collections);\n this._pageLoadComplete();\n });\n }\n }\n\n _fetchRows(rowCount, collectionsDone = []) {\n let views = this.unrenderedViews.splice(0, rowCount);\n this._paintCollections(views);\n\n return new Promise((resolve) => {\n this._syncRows(views, collectionsDone).then((result) => {\n if (result.failed) {\n this._fetchRows(result.failed, collectionsDone).then(\n (collections) => {\n resolve(collections);\n }\n );\n } else {\n resolve(collectionsDone);\n }\n });\n });\n }\n\n _syncRows(views, collections) {\n let requestQueue = views.map((view) => view.sync());\n\n return Promise.settle(requestQueue).then((results) => {\n const succeeded = results.filter(\n (result) => result.fulfilled && result.value\n );\n const failed = results.filter(\n (result) => !result.fulfilled || !result.value\n );\n\n succeeded.map((request) => collections.push(request.value));\n\n if (failed.length) {\n // Make sure we make errors visible for debugging\n failed.forEach((failure) => {\n if (failure && failure.value) {\n console.error('', failure.value);\n }\n });\n }\n\n return { failed: failed.length };\n });\n }\n\n _paintCollections(views) {\n let frag = document.createDocumentFragment();\n\n views.forEach((view) => {\n if (!view.isPainted) {\n frag.appendChild(view.el);\n view.isPainted = true;\n }\n });\n\n this.el.appendChild(frag);\n }\n\n _pageLoadComplete() {\n if (this.unrenderedViews.length > 0) {\n let $loadMore = $(\n ``\n ).on('click', () => {\n this._loadPage();\n $loadMore.remove();\n });\n\n this.$el.append($loadMore);\n }\n\n if (this.collectionErrors.length > 0) {\n let allCollectionsFailed = this.views.length === 0;\n this._logPageErrors(this.collectionErrors, allCollectionsFailed);\n\n if (allCollectionsFailed) {\n this.$el.empty().append(ErrorTemplate());\n }\n }\n\n this.collectionErrors = [];\n }\n\n _logPageErrors(failed, allFailed) {\n const howMany = allFailed ? 'Total' : 'Partial';\n let errors = [];\n for (let failure of failed) {\n errors.push({\n id: failure.id,\n type: failure.type,\n statusText: failure.statusText,\n status: failure.status,\n });\n }\n let counts = _.countBy(\n errors,\n (error) => error.type + ':' + error.statusText\n );\n Logger.log('error', `${howMany} HomePage Ajax Error`, {\n message: 'HighlightErrorRollup',\n errors: errors,\n counts: counts,\n page: 'home',\n });\n }\n\n initViews() {\n let views = [];\n\n let campaigns = this.pageManager.getCampaigns();\n let hideCampaign = this.featureManager.isEnabled(\n 'hide-lightning-campaigns'\n );\n let showCampaign =\n campaigns &&\n campaigns.length > 0 &&\n !window.OverDrive.isVisitor &&\n !hideCampaign;\n if (showCampaign) {\n this.campaign = null;\n this.campaignView = new Campaign({\n bus: this.bus,\n currentRoom: this.room,\n });\n this.campaignView.$el.append(this.generateHeroPlaceholderEl());\n\n views.push(this.campaignView);\n\n let getCampaign = () =>\n this.pageManager.fetchCampaignById(campaigns[0].id);\n if (window.featureManager.isEnabled('hide-cta-campaigns')) {\n getCampaign = () =>\n this.pageManager.fetchFirstDisplayableCampaign(\n (this.room && this.room.id) || 'home'\n );\n }\n\n this.campaignView.sync = () =>\n getCampaign().then(\n (campaign) => {\n this.campaign =\n !_(campaign).isEmpty() &&\n !_(campaign).isEmpty(campaign.items) &&\n campaign;\n\n if (this.campaign && !this.failCampaign) {\n this.campaignView.campaign = this.campaign;\n this.campaignView.model.set(this.campaign.items[0]);\n this.campaignView.model.updatePatronState();\n this.campaignView.render();\n\n return this.campaignView;\n } else {\n this.campaignView.remove();\n this.removeView(this.campaignView);\n this.campaignView = null;\n }\n },\n (error) => {\n error.id = campaigns[0].id;\n error.statusText = !!error.statusText\n ? error.statusText\n : 'UnknownStatus';\n error.type = 'Ajax Error: Campaign';\n\n this.campaignView.remove();\n this.removeView(this.campaignView);\n\n this.collectionErrors.push(error);\n\n this.campaignView = null;\n throw error;\n }\n );\n }\n\n let view = this.pageManager.getView(this.viewId);\n\n if (this._shouldTruncateCollections) {\n view.collectionDefinitions = view.collectionDefinitions.slice(\n 0,\n 10\n );\n }\n\n this.collectionManager.reset(view.collectionDefinitions);\n\n this.collectionManager.each((collectionDefinition, index) => {\n let isHero = !showCampaign && index === 0;\n\n // TODO: Thought is that the TitleCard template will render in \"dummy\" state\n collectionDefinition.titleCollection.reset([\n { placeholder: true },\n { placeholder: true },\n { placeholder: true },\n { placeholder: true },\n { placeholder: true },\n { placeholder: true },\n ]);\n\n let viewArgs = {\n model: collectionDefinition,\n bus: this.bus,\n featureManager: this.featureManager,\n room: this.room,\n isHero,\n };\n\n if (this.slantedGridTitleCountOverride) {\n viewArgs.titleCountOverride =\n this.slantedGridTitleCountOverride;\n }\n\n let forceSlantedGridView =\n this.forceAllSlantedGridCollections ||\n (this.forcedSlantedGridCollectionIndexes &&\n this.forcedSlantedGridCollectionIndexes.includes(index));\n if (forceSlantedGridView) {\n collectionDefinition.shuffle = true;\n }\n\n let collectionHighlightView = CollectionHighlightFactory.Build(\n collectionDefinition,\n viewArgs,\n forceSlantedGridView\n );\n collectionDefinition.pageSize =\n collectionHighlightView.desiredTitleCount;\n\n if (isHero) {\n collectionHighlightView.$el.append(\n this.generateHeroPlaceholderEl()\n );\n }\n\n views.push(collectionHighlightView.render());\n\n collectionHighlightView.sync = () =>\n collectionDefinition\n .fetchCollectionTitles({\n patronSettings: this.patronSettings,\n room: this.room,\n })\n .then(\n () => {\n let simulateFailure =\n this.collectionIndexesToFail &&\n this.collectionIndexesToFail.includes(index);\n if (\n collectionDefinition.titleCollection.length &&\n !simulateFailure\n ) {\n collectionHighlightView.render();\n collectionHighlightView.toggleTitleVisibility(\n true\n );\n\n return collectionDefinition;\n } else {\n // Clean up the failed row\n collectionHighlightView.remove();\n this.removeView(collectionHighlightView);\n throw new Error(\n 'No collection contents retrieved'\n );\n }\n },\n (error) => {\n collectionHighlightView.remove();\n this.removeView(collectionHighlightView);\n\n error.id = collectionDefinition.id;\n error.statusText = !!error.statusText\n ? error.statusText\n : 'UnknownStatus';\n error.type = 'Ajax Error: Collection';\n\n this.collectionErrors.push(error);\n\n throw error;\n }\n );\n });\n\n return views;\n }\n\n removeView(view) {\n this.views = this.views.filter((v) => v !== view);\n\n if (\n (view instanceof Campaign || (view.isHero && this.views[0])) &&\n !window.OverDrive.isTolinoDevice\n ) {\n this.views[0].makeHero();\n this._renderLibbyTout();\n }\n }\n\n _updatePatronTitleStatus(views) {\n if (\n window.OverDrive.isAuthenticated &&\n window.OverDrive.hasLinkedCards &&\n views &&\n views.length > 0\n ) {\n let titles = [];\n\n views.forEach((view) => {\n if (view instanceof Campaign) {\n titles.push(view.model);\n } else {\n titles.push(...view.titleCollection.models);\n }\n });\n\n let patronTitleStatus = new PatronTitleStatus();\n\n patronTitleStatus.fetchTitleStatus(titles).then(() => {\n patronTitleStatus.updateTitleCollectionState(_(titles));\n });\n }\n }\n\n _renderLibbyTout() {\n if (this.libbytout) {\n this.libbytout.remove();\n }\n\n let frag = document.createDocumentFragment();\n let inApp = Cookies.get('omcbrowse') !== undefined;\n let notShownInApp =\n !this.featureManager.isEnabled('try-libby-modal') ||\n (this.featureManager.isEnabled('try-libby-modal') && !inApp);\n\n if (\n this.featureManager.isEnabled('libbyTout') &&\n this.appPromoManager.isAppPromoEnabled(\n this.appPromoManager.APPLICATIONS.LIBBY\n ) &&\n !window.OverDrive.isKindle &&\n !this.room &&\n notShownInApp\n ) {\n let $tout = $(LibbyToutTemplate(window.OverDrive.optimizeForChina));\n\n if ((this.viewId || '').toLowerCase() === 'home') {\n $tout = $('
').append($tout);\n }\n frag.appendChild($tout[0]);\n this.libbytout = $tout;\n\n $(window).on('resize scroll', () => {\n if (\n this.isInViewport(\n this.libbytout.find('.LibbyTout-wayPoint')\n )\n ) {\n this.libbytout\n .find('.libbyIcon-container')\n .addClass('libbyIcon-animate');\n } else {\n this.libbytout\n .find('.libbyIcon-container')\n .removeClass('libbyIcon-animate');\n }\n });\n }\n\n this.views[0].$el.after(frag);\n }\n\n isInViewport(element) {\n let elementTop = element.offset().top;\n let elementBottom = elementTop + element.outerHeight();\n\n let viewportTop = $(window).scrollTop();\n let viewportBottom = viewportTop + $(window).height();\n\n if (viewportTop === 0) {\n return false; // fake it when scroll is at the top, but image is still in view\n }\n\n return elementBottom > viewportTop && elementTop < viewportBottom;\n }\n\n _performForwardedAction() {\n if (isAuthenticated && hasLinkedCards && HashManager.get('action')) {\n let titles = [];\n if (this.campaignView) {\n titles.push(this.campaignView.model);\n }\n this.collectionManager.each((collectionDefinition) => {\n titles.push(...collectionDefinition.titleCollection.models);\n });\n const forwardedAction = new ProcessForwardedAction(\n new TitleCollection(titles),\n this.bus\n );\n forwardedAction.executeAction();\n window.forwardedAction = forwardedAction;\n }\n }\n\n get _shouldTruncateCollections() {\n // The OD app on iOS 8 and 9 crashes on the home page if there are too many collections. LHTNG-2387\n let inApp = Cookies.get('omcbrowse') !== undefined;\n if (inApp && bowser.ios && bowser.osversion) {\n let versionParts = bowser.osversion.split('.');\n if (versionParts && versionParts.length > 0) {\n let majorVersion = parseInt(versionParts[0], 10);\n if (majorVersion && majorVersion < 10) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","export default ({ name, room, seeAllUrl }) => `\n
\n
\n
\n
\n \n

\n \n ${name}\n \n \n

\n \n ${html('seeAll')}\n \n \n
\n
    \n
    \n
    \n
    \n
    `;\n","import TitleCollectionView from '../../media/TitleCollectionView';\nimport CollectionHighlightTemplate from '../templates/collection_highlight.html';\n\nexport default class CollectionHighlight extends Backbone.View {\n template = CollectionHighlightTemplate;\n\n viewAttributes(collection) {\n let classes = [];\n\n if (this.isHero) {\n classes.push(`large-block-grid-${collection.length}`);\n } else {\n classes.push(`large-block-grid-6`);\n }\n\n if (collection.length <= 2) {\n classes.push(`small-block-grid-${collection.length}`);\n }\n\n if (collection.length >= 3) {\n classes.push(`small-block-grid-2 medium-block-grid-3`);\n }\n\n return {\n class: `titleContainer ${classes.join(' ')}`,\n };\n }\n\n constructor({ bus, room, isHero = false }) {\n super(...arguments);\n\n this.bus = bus;\n this.room = room;\n this.collection = this.model.titleCollection;\n this.isHero = isHero;\n\n this.render();\n }\n\n get seeAllUrl() {\n const collectionId = this.model.get('id');\n return window.url(window.routes.collectionById, { collectionId });\n }\n\n get desiredTitleCount() {\n return 6;\n }\n\n render() {\n let $view = $(\n this.template(\n _.extend({}, this.model.attributes, {\n room: this.room,\n seeAllUrl: this.seeAllUrl,\n })\n )\n );\n\n this.titleCollectionView && this.titleCollectionView.remove();\n\n this.titleCollectionView = new TitleCollectionView({\n el: $view.find('.titleContainer'),\n bus: this.bus,\n attributes: this.viewAttributes(this.collection),\n collection: this.collection,\n coverWidths: { mobile: 145, tablet: 160, desktop: 190 },\n isInHero: this.isHero,\n context: {\n collectionDefinition: this.model,\n room: this.room,\n },\n });\n\n // ref: LHTNG-1970 - hiding the last two elements so we can remove the overflow hidden on the parent container\n $view.find('.Item').each((i, el) => {\n if (i > 3) {\n $(el).addClass(`titles-item-overflow`);\n }\n });\n\n this.$el.empty().append($view);\n if (this.isHero) {\n this.makeHero();\n }\n\n return this;\n }\n\n makeHero() {\n if (!window.featureManager.isEnabled('geo-idc')) {\n this.isHero = true;\n this.$el.find('.collection-container').addClass('Hero');\n this.$el.find('.icon-forward-arrow').remove();\n let description = this.model.attributes.description;\n if (description) {\n this.$el\n .find('.collectionTitle')\n .after(\n `

    ${description}

    `\n );\n }\n }\n }\n\n remove() {\n this.titleCollectionView && this.titleCollectionView.remove();\n super.remove();\n }\n\n toggleTitleVisibility(isVisible) {\n let title = this.$el.find('.collectionTitle');\n isVisible\n ? title.removeClass('invisible')\n : title.addClass('invisible');\n }\n}\n","export default ({coverGridSizeClass, collectionTitle, collectionDescription, collectionId, coversHtml, bannerBackgroundColor, bannerTextColor, isHero, useFallbackDisplay, fallBackGridWidth}) => `\n
    \n
    \n
    \n
    \n

    ${collectionTitle}

    \n
    ${collectionDescription}
    \n ${window.text('seeAll')}\n
    \n
    \n
    \n
    \n
    \n ${useFallbackDisplay ?\n `
      \n ${coversHtml.map((html) => `
    • ${html}
    • `).join('')}\n
    ` :\n `
    \n ${coversHtml.map((coverHtml, index) => `\n
    \n ${coverHtml}\n
    `).join('')}\n
    `}\n
    \n
    \n
    \n
    \n ${window.text('seeAll')}\n
    \n`;\n\n","import SlantedGridTemplate from './SlantedCollectionHightlight.html';\nimport Cover from '../media/Cover';\nimport TitleName from '../media/views/TitleInfo/TitleName';\nimport ColorUtility from '../../../../lib/colorUtility';\nconst {OverDrive} = window;\n\n\nexport default class SlantedCollectionHighlight extends Backbone.View {\n\n template = SlantedGridTemplate;\n constructor({ bus, room, isHero = false, titleCountOverride = null }) {\n super(...arguments);\n\n this._views = [];\n this.bus = bus;\n this.room = room;\n this.isHero = isHero;\n this.highContrastMode = window.OverDrive.highContrast;\n this.titleCountOverride = titleCountOverride;\n\n this._vertToHorizBreakpointPx = 720;\n this._coverBlockWidthPercentLarge = 0.58;\n this._coverBlockWidthPercentageSmall = 1;\n\n this._smallGridMaxWidthPx = 555;\n this._mediumGridMaxWidthPx = 667;\n this._largeGridMaxWidthPx = 1280;\n this._coverPlaceholderHtml = '
    ';\n }\n\n render() {\n this.$el.empty();\n let colors = this.getTitlePanelColors();\n\n let sizeInfo = this.getGridSize();\n this.$el.empty().append(\n $(this.template({\n coverGridSizeClass: sizeInfo.class,\n collectionTitle: this.model.get('name'),\n collectionDescription: this.model.get('description'),\n collectionId: this.model.get('id'),\n coversHtml: this.getCoversHtml(),\n bannerBackgroundColor: colors.background,\n bannerTextColor: colors.foreground,\n isHero: this.isHero,\n useFallbackDisplay: this.useFallbackDisplay,\n fallBackGridWidth: sizeInfo.gridWidthFallback\n })));\n\n this.$el.find('.textBlockInner a').on('mouseover', (evt) => {\n evt.currentTarget.style.color = colors.foregroundHover;\n }).on('mouseout', (evt) => {\n evt.currentTarget.style.color = colors.foreground;\n });\n\n return this;\n }\n\n get desiredTitleCount(){\n if (this.titleCountOverride){\n return this.titleCountOverride;\n }\n\n let sizeInfo = this.getGridSize();\n return this.useFallbackDisplay ? sizeInfo.numCoversFallback : sizeInfo.numCovers;\n }\n\n get useFallbackDisplay(){\n return window.Modernizr && !window.Modernizr.cssgrid;\n }\n\n getGridSize(){\n\n const xlarge = {\n class: 'extraLarge',\n numCovers: 39,\n numCoversFallback: 47,\n numTilesFallback: 117,\n gridWidthFallback: 13,\n placeholderIndexes: [4,5,6,7,8,9,10,11,12,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,48,49,50,51,52,53,54,55,62,63,64,65,66,67,68,69,70,77,78,79,80,81,82,83,84,91,92,93,94,95,96,97,98,99,104,105,106,107,108,109,110,111,112]\n };\n\n const large = {\n class: 'large',\n numCovers: 25,\n numCoversFallback: 25,\n numTilesFallback: 54,\n gridWidthFallback: 9,\n placeholderIndexes: [0,4,5,6,7,8,14,15,16,17,18,25,26,27,28,35,36,37,38,39,44,45,46,47,48,49,52,53]\n };\n\n const medium = {\n class: 'medium',\n numCovers: 17,\n numCoversFallback: 21,\n numTilesFallback: 35,\n gridWidthFallback: 7,\n placeholderIndexes: [0,4,5,6,12,13,14,21,22,28,29,30,31]\n };\n\n const small = {\n class: 'small',\n numCovers: 12,\n numCoversFallback: 20,\n numTilesFallback: 20,\n gridWidthFallback: 5,\n placeholderIndexes: [0,10,15,16]\n };\n\n // take the max of the available width and height so we don't need to rerender when the device rotates\n let largeDimension = Math.max(window.screen.availWidth, window.screen.availHeight);\n let smallDimension = Math.min(window.screen.availWidth, window.screen.availHeight);\n\n let landscapeMaxGridWidth = (largeDimension < this._vertToHorizBreakpointPx)\n ? largeDimension * this._coverBlockWidthPercentageSmall\n : largeDimension * this._coverBlockWidthPercentLarge;\n\n let portraitMaxGridWidth = (smallDimension < this._vertToHorizBreakpointPx)\n ? smallDimension * this._coverBlockWidthPercentageSmall\n : smallDimension * this._coverBlockWidthPercentLarge;\n\n let maxCoverGridWidth = Math.max(landscapeMaxGridWidth, portraitMaxGridWidth);\n\n if (maxCoverGridWidth <= this._smallGridMaxWidthPx){\n return small;\n } else if (maxCoverGridWidth <= this._mediumGridMaxWidthPx){\n return medium;\n } else if (maxCoverGridWidth <= this._largeGridMaxWidthPx){\n return large;\n } else {\n return xlarge;\n }\n }\n\n getTitlePanelColors(){\n\n let backgroundColor;\n\n if (this.highContrastMode){\n backgroundColor = ColorUtility.highContrastBlue;\n } else {\n // choose a different cover for the source color when the title block is rendered above the cover grid.\n // The effect is nicer if the source cover is abuts the colored area that matches it.\n let colorSourceTitle = this.model.titleCollection.first();\n if (window.innerWidth < this._vertToHorizBreakpointPx && this.model.titleCollection.length > 2){\n colorSourceTitle = this.model.titleCollection.at(2);\n }\n\n let cover = colorSourceTitle.getCover(300);\n backgroundColor = '#a79d99';\n if (this.isHero && OverDrive.colors.primary){\n backgroundColor = OverDrive.colors.primary;\n }\n else if (!colorSourceTitle.isPlaceholder && cover && cover.primaryColor){\n backgroundColor = cover.primaryColor.hex;\n } else {\n backgroundColor = '#a79d99';\n }\n }\n\n let foregroundColor = ColorUtility.getTextColorFromHex(backgroundColor);\n\n return {\n background: backgroundColor,\n foreground: foregroundColor,\n foregroundHover: ColorUtility.shadeColorHex(backgroundColor, 0.2)\n };\n }\n\n // Render one cover for each available title and then repeat them to reach the\n // desired cover count\n getCoversHtml(){\n this.renderBaseCovers();\n let sizeInfo = this.getGridSize();\n\n let numRequired = !this.useFallbackDisplay ? sizeInfo.numCovers : sizeInfo.numTilesFallback;\n\n let results = [];\n while (results.length < numRequired){\n for (let i = 0; i < this._coverMarkup.length && (results.length < numRequired);){\n if (!this.useFallbackDisplay || !sizeInfo.placeholderIndexes.includes(results.length)){\n results.push(this._coverMarkup[i]);\n ++i;\n } else {\n // The fallback display mode uses placeholder covers to fill out the parts of the grid\n // that will be clipped off by the parent container.\n results.push(this._coverPlaceholderHtml);\n }\n }\n }\n return results;\n }\n\n renderBaseCovers() {\n this._views.forEach((view) => view.remove());\n this._views = [];\n this._coverMarkup = [];\n this.model.titleCollection.each((title) => {\n\n if (title.isPlaceholder){\n this._coverMarkup.push(this._coverPlaceholderHtml);\n }\n else {\n let cover = new Cover({\n model: title,\n coverWidths: {mobile: 200, tablet: 300, desktop: 400},\n isInHero: this.isHero\n });\n cover.render();\n\n // we add a hidden title name for screen readers\n let titleName = new TitleName({model: title});\n\n this._coverMarkup.push(`${cover.el.innerHTML}

    ${titleName.el.innerHTML}

    `);\n\n this._views.push(cover);\n this._views.push(titleName);\n }\n });\n }\n\n remove() {\n this._views.forEach((v) => v.remove());\n super.remove();\n }\n\n makeHero() {\n this.isHero = true;\n this.$el.find('.mainBox').addClass('hero');\n let colors = this.getTitlePanelColors();\n this.$el.find('.textBlockOuter').attr('style', `background-color:${colors.background};color:${colors.foreground}`);\n }\n\n toggleTitleVisibility(isVisible) {\n let title = this.$el.find('.textBlockInner');\n isVisible ? title.removeClass('invisible') : title.addClass('invisible');\n }\n}\n","import QueryString from 'querystring';\n\nexport default class HashManager {\n\n static parse() {\n let hashObject = QueryString.parse(location.hash.substr(1));\n\n _.keys(hashObject).forEach((key) => {\n hashObject[key] = _.flatten([hashObject[key] || []]);\n });\n\n return hashObject;\n }\n\n static update(object) {\n let newHash = QueryString.stringify(object);\n if (newHash !== '&'){\n location.hash = newHash;\n }\n }\n\n static get(key) {\n let response = this.parse();\n\n if (_.isString(key)) {\n return response[key];\n }\n\n return response;\n }\n\n static set(key, value) {\n let hash = this.parse();\n\n hash[key] = _.flatten([value]);\n\n this.update(hash);\n }\n\n static push(key, value) {\n let hash = this.parse();\n\n hash[key] = hash[key] || [];\n hash[key].push(value);\n\n this.update(hash);\n }\n\n static remove(key) {\n let hash = this.parse();\n\n hash[key] && delete hash[key];\n\n this.update(hash);\n }\n}\n","import keys from '../../util/keycodes';\nimport ModalTemplate from './templates/modal.html';\n\nclass Modal extends Backbone.View {\n get defaults() {\n // When the flag is enabled, closeOnEsc must always be FALSE\n // to ensure that the ESC key behavior defined in _bindEvents() executes properly.\n // Do not modify this value when calling a new modal.\n var closeModalOnEsc = window.featureManager.isEnabled(\n 'close-dropdowns-on-esc'\n )\n ? false\n : true;\n\n return {\n autoShow: true,\n autoRender: true,\n closeOnEsc: closeModalOnEsc,\n closeOnBlur: true,\n\n id: '',\n classes: ['small'],\n buttonAlign: 'right',\n title: 'Title',\n hiddenTitle: false,\n content: 'Some Content',\n submitText: html('ok'),\n cancelText: html('cancel'),\n attachToDocument: true,\n defaultButtonBehaviour: true,\n showCloseButton: true,\n };\n }\n\n initialize(options) {\n _.extend(this, this.defaults, options);\n\n this.tpl = ModalTemplate;\n this.setElement(this.tpl(this));\n\n if (this.id.length) {\n this.$el.attr('id', this.id);\n }\n\n this.$content = this.$el.find('.modal-container');\n\n this.$content.empty().append(this.content);\n\n this.$el.addClass(this.classes.join(' '));\n\n this.$title = this.$el.find('.modal-title');\n\n if (this.hiddenTitle) {\n this.$title.css('display', 'none');\n this.$title.attr('aria-hidden', 'true');\n }\n\n if (this.autoRender) {\n this._render();\n }\n\n this._bindEvents();\n }\n\n _render() {\n if (this.attachToDocument) {\n // For Foundation to work as expected we need to have the element attached to the DOM before calling .foundation('reveal', 'open')\n $('body').append(this.el);\n }\n\n if (this.autoShow) {\n this.show();\n }\n\n return this;\n }\n\n isSelectEvent = (e) =>\n (e.type === 'click' || e.which === 13 || e.which === 32) &&\n (e.preventDefault() || true);\n\n // We dont actually want to use the Foundation modal events since they get weird fast...\n // lets use our own so consumers dont have to know its foundation\n _bindEvents() {\n this.$el.on('click keydown', '.js-close', (e) => {\n this.isSelectEvent(e) && this.trigger('cancel', this);\n });\n\n if (this.defaultButtonBehaviour) {\n this.on('close cancel', () => {\n this.close();\n });\n }\n\n this.$el.on('keypress', '*', (e) => {\n if (e.which === keys.TAB) {\n this._keepFocus(e);\n }\n });\n\n if (window.featureManager.isEnabled('close-dropdowns-on-esc')) {\n // Prevent ESC from closing modal when